Listenerで発生した問題(2009-10-16)
今日はウェブアプリを作っていて、
環境:
Tomcat -6.0
JDK -1.5
Hibernate 3.x
新しくlistenerを書いて、Tomcatに配置して、eclipseの中でデバッグして、1件の奇妙な事が現れました.
tomcatは絶えず再起動して、最後に問題が発生した場所に位置して、contextInitializedの中で私が呼び出します
Hibernateの検索方法を見て、この問題は本当におかしいです!
Listenerの関連コード:
TaskScheduler.InitTasks()の部分コード
まだ解決していないので、まずサーブレットを書いて同じ機能を完成してからにしよう.
環境:
Tomcat -6.0
JDK -1.5
Hibernate 3.x
新しくlistenerを書いて、Tomcatに配置して、eclipseの中でデバッグして、1件の奇妙な事が現れました.
tomcatは絶えず再起動して、最後に問題が発生した場所に位置して、contextInitializedの中で私が呼び出します
Hibernateの検索方法を見て、この問題は本当におかしいです!
Listenerの関連コード:
public class DefaultTaskListener implements ServletContextListener {
private static final Log log = LogFactory.getLog(DefaultTaskListener.class);
private TaskScheduler scheduler = TaskScheduler.getInstance();
/***
*
* 2008-5-19 16:38
*/
public void contextInitialized(ServletContextEvent sce) {
if (log.isDebugEnabled()){
log.debug(":::contextInitialized fired");
}
scheduler.start();
//why this method raise server to reload ,when find() is executed.
scheduler.initTasks();
//--------------------------------------
}
public void contextDestroyed(ServletContextEvent sce) {
if (log.isDebugEnabled()){
log.debug("DefaultTaskListener contextDestroyed is execute!");
}
try{
scheduler.shutdown();
if (log.isDebugEnabled()){
log.debug("DefaultTaskListener stop is success!");
}
}catch(Exception ex){
log.error("DefaultTaskListener stop is fail!");
ex.printStackTrace();
}
}
TaskScheduler.InitTasks()の部分コード
public void initTasks() {
int successCount = 0;
TaskInfoSrv srv = new TaskInfoSrv();
try{
List list = (List) srv.findPOs(null, null, null);
// tomcat
}catch(...){
}
// other code
まだ解決していないので、まずサーブレットを書いて同じ機能を完成してからにしよう.