#
摘要: 今天有時間大體看了一下Hibernate Annotations,決定放棄xdoclet生成hbm的想法,開始學習annotation.首先大體的來看一下:一:Class Level:1:通過@Entity聲明當前pojo為實體Bean2:通過@Table定義對應(yīng)數(shù)據(jù)庫表的屬性 name:表名,默認實體類名 uniqueConstraints:定義表...
閱讀全文
無非就是兩種方法
1:Servlet
2: Listener
Servlet:
package 
import org.apache.log4j.Logger;
import javax.servlet.http.HttpServlet;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* @author martin
*/
public class LuceneTimerServlet extends HttpServlet {
private static Logger logger = Logger.getLogger(LuceneTimerServlet.class);
private static Timer timer;
static {
timer = new Timer(true);
timer.schedule(new TimerTask() {
public void run() {
System.out.println("開始創(chuàng)建索引@" + getTime(Calendar.getInstance()));
TaxDocIndexer indexer = new TaxDocIndexer();
indexer.setFirstRun(Boolean.TRUE);
indexer.fetch();
System.out.println("索引創(chuàng)建成功@" + getTime(Calendar.getInstance()));
}
},
getFirstTime(),
getPeriod()
);
}
public void destroy() {
logger.debug("LuceneTimerServlet.destroy() begin");
timer.cancel();
}
/**
* 從服務(wù)啟動起算,第二天零時開始執(zhí)行
*
* @return Timer第一次執(zhí)行時間
*/
private static Date getFirstTime() {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
logger.debug("開始執(zhí)行時間:" + getTime(calendar));
return calendar.getTime();
}
/**
* @param calendar
* @return formated time string
*/
private static String getTime(Calendar calendar) {
return new StringBuffer()
.append(calendar.get(Calendar.YEAR)).append("年")
.append(calendar.get(Calendar.MONTH) + 1).append("月")
.append(calendar.get(Calendar.DAY_OF_MONTH)).append("日 ")
.append(calendar.get(Calendar.HOUR_OF_DAY)).append("時")
.append(calendar.get(Calendar.MINUTE)).append("分")
.append(calendar.get(Calendar.SECOND)).append("秒")
.toString();
}
/**
* 計算一天的時間間隔
* 一天24小時×每小時60分×每分60秒×1000
*
* @return 一天時間
*/
private static long getPeriod() {
return 86400000;
}
} 配置web.xml
<servlet>
<servlet-name>luceneTimerServlet</servlet-name>
<servlet-class>sompackage.servlet.LuceneTimerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
如果采用Listener,則是:
<listener>
<listener-class>sompackage.servlet.LuceneTimerServlet</listener-class>
</listener>
以前總在珠江路上看到名人專賣店,以為名人還不錯,誰知道買了個電子詞典,到家就花屏!
NND,騙子!以后肯定不會看名人的產(chǎn)品!
走了,正在準備辦理離職手續(xù),心里總覺的有點點失落,也許我還真的對這個公司有點期盼,也許對自己的選擇不是太滿意,也許我沒有做到我自己想做的事太多,也許什么都不是只是我的心情不好,走了,終究決定走了...
該去尋找我自己的天空去了,我不可這樣墮落的活下去了,自己對自己得有個交代。
我看中了一家小公司,是我朋友的,我可以按我想法的去給公司開發(fā)成品,我可以用我最喜歡的技術(shù),我可以做我任何想做的事,我自由了!
祝自己好運!
From: Doug Cutting <
cutting@apache.org>
To:
java-user@lucene.apache.org------------------------
Release 1.9-final of Lucene is now available from:
http://www.apache.org/dyn/closer.cgi/lucene/java/This release has many improvements since release 1.4.3, including new
features, performance improvements, bug fixes, etc. For details, see:
http://svn.apache.org/viewcvs.cgi/*checkout*/lucene/java/tags/lucene_1_9_final/CHANGES.txt1.9 will be the last 1.x release. It is both back-compatible with 1.4.3
and forward-compatible with the upcoming 2.0 release. Many methods and
classes in 1.4.3 have been deprecated in 1.9 and will be removed in 2.0.
Applications must compile against 1.9 without deprecation warnings
before they are compatible with 2.0.
Doug