初始化上下文时,不会调用ServletContextListener.contextInitialized

时间:2011-01-01 14:53:36

标签: java jsp servlets jetty embedded-jetty

我正在创建一个war文件(progressReporter.war),我正在Jetty7.2.2.v20101205上部署它。我在contextInitialized方法上有一个sysout,我应该在jetty启动时看到它。我正在使用
开始码头 java -jar start.jar

Java版本是1.6

当我在tomcat上运行时,它的运行绝对正常。对于码头,我已经包括

  • jetty-client-7.2.2.v20101205.jar
  • jetty-continuation-7.2.2.v20101205.jar
  • jetty-http-7.2.2.v20101205.jar
  • jetty-io-7.2.2.v20101205.jar
  • jetty-servlets-7.2.2.v20101205.jar
  • jetty-util-7.2.2.v20101205.jar

以下是我的

@Override  
public void contextInitialized(ServletContextEvent servletContextEvent) {  
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] {"spring-http-config.xml", "test-spring-http-config.xml", "spring-ibatis.xml" });  
    System.out.println("setting attribute now ............... " + servletContextEvent.getServletContext());  
}  

以下是我在web.xml中的内容

<listener>  
    <listener-class>org.springframework.web.context.ContextLoaderListener  
    </listener-class>  
    <listener-class>com.client.BatchProgressorContextListener  
   </listener-class>  
</listener>

你能帮我解决一下这里出了什么问题吗?

以下是我开始码头时的输出:

C:\bkup\trialLearning\jetty>java -jar start.jar
2011-01-01 20:04:10.510:INFO::jetty-7.2.2.v20101205
2011-01-01 20:04:10.525:INFO::Deployment monitor C:\bkup\trialLearning\jetty\web
apps at interval 1
2011-01-01 20:04:10.525:INFO::Deployable added: C:\bkup\trialLearning\jetty\weba
pps\progressReporter.war
2011-01-01 20:04:10.666:INFO::Copying WEB-INF/lib jar:file:/C:/bkup/trialLearnin
g/jetty/webapps/progressReporter.war!/WEB-INF/lib/ to C:\Documents and Settings\
i143628\Local Settings\Temp\jetty-0.0.0.0-8080-progressReporter.war-_progressRep
orter-any-\webinf\WEB-INF\lib
2011-01-01 20:04:12.213:INFO:progressReporter:Initializing Spring root WebApplic
ationContext
0    [main] INFO  org.springframework.web.context.ContextLoader  - Root WebAppli
cationContext: initialization started
31   [main] INFO  org.springframework.web.context.support.XmlWebApplicationConte
xt  - Refreshing Root WebApplicationContext: startup date [Sat Jan 01 20:04:12 I
ST 2011]; root of context hierarchy
93   [main] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader
 - Loading XML bean definitions from class path resource [spring-http-config.xml
]
203  [main] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader
 - Loading XML bean definitions from class path resource [test-spring-http-confi
g.xml]
218  [main] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader
 - Loading XML bean definitions from class path resource [spring-ibatis.xml]
390  [main] INFO  org.springframework.beans.factory.config.PropertyPlaceholderCo
nfigurer  - Loading properties file from class path resource [qpr-config.propert
ies]
406  [main] INFO  org.springframework.beans.factory.support.DefaultListableBeanF
actory  - Pre-instantiating singletons in org.springframework.beans.factory.supp
ort.DefaultListableBeanFactory@e66f56: defining beans [org.springframework.conte
xt.annotation.internalConfigurationAnnotationProcessor,org.springframework.conte
xt.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.a
nnotation.internalRequiredAnnotationProcessor,org.springframework.context.annota
tion.internalCommonAnnotationProcessor,batchProgressUpdater,batchProgressMetrics
,progressReporterResultsQueue,cbbEventProcessorThread,timerEventProcessorThread,
eventThreadManager,eventListener,metricsAggregator,southbeachDummyClient,cbbPric
er,dummyCbb,processorThread,counterGenerater,imntInfoDao,imntStatsInfoDao,org.sp
ringframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,sq
lMapClient]; root of factory hierarchy
593  [main] INFO  org.springframework.web.context.ContextLoader  - Root WebAppli
cationContext: initialization completed in 593 ms
2011-01-01 20:04:12.947:INFO::Deployment monitor C:\bkup\trialLearning\jetty\con
texts at interval 1
2011-01-01 20:04:12.947:INFO::Deployable added: C:\bkup\trialLearning\jetty\cont
exts\test.xml
2011-01-01 20:04:12.978:INFO::Extract jar:file:/C:/bkup/trialLearning/jetty/weba
pps/test.war!/ to C:\Documents and Settings\i143628\Local Settings\Temp\jetty-0.
0.0.0-8080-test.war-_-any-\webapp
2011-01-01 20:04:13.572:INFO:org.eclipse.jetty.servlets.TransparentProxy:Transpa
rentProxy @ /javadoc to http://download.eclipse.org/jetty/stable-7/apidocs
2011-01-01 20:04:13.572:INFO::Deployable added: C:\bkup\trialLearning\jetty\cont
exts\javadoc.xml
2011-01-01 20:04:13.588:INFO::Started SelectChannelConnector@0.0.0.0:8080
2011-01-01 20:12:59.369:INFO::Graceful shutdown SelectChannelConnector@0.0.0.0:8
080
2011-01-01 20:12:59.447:INFO::Graceful shutdown o.e.j.w.WebAppContext{/progressR
eporter,[file:/C:/Documents%20and%20Settings/i143628/Local%20Settings/Temp/jetty
-0.0.0.0-8080-progressReporter.war-_progressReporter-any-/webinf/, jar:file:/C:/
bkup/trialLearning/jetty/webapps/progressReporter.war!/]},C:\bkup\trialLearning\
jetty\webapps\progressReporter.war
2011-01-01 20:12:59.447:INFO::Graceful shutdown o.e.j.w.WebAppContext{/,file:/C:
/Documents%20and%20Settings/i143628/Local%20Settings/Temp/jetty-0.0.0.0-8080-tes
t.war-_-any-/webapp/},C:\bkup\trialLearning\jetty/webapps/test.war
2011-01-01 20:12:59.478:INFO::Graceful shutdown o.e.j.s.h.ContextHandler{/javado
c,file:/C:/bkup/trialLearning/jetty/javadoc}
2011-01-01 20:13:00.666:INFO:progressReporter:Closing Spring root WebApplication
Context
528453 [Thread-1] INFO  org.springframework.web.context.support.XmlWebApplicatio
nContext  - Closing Root WebApplicationContext: startup date [Sat Jan 01 20:04:1
2 IST 2011]; root of context hierarchy
528453 [Thread-1] INFO  org.springframework.beans.factory.support.DefaultListabl
eBeanFactory  - Destroying singletons in org.springframework.beans.factory.suppo
rt.DefaultListableBeanFactory@e66f56: defining beans [org.springframework.contex
t.annotation.internalConfigurationAnnotationProcessor,org.springframework.contex
t.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.an
notation.internalRequiredAnnotationProcessor,org.springframework.context.annotat
ion.internalCommonAnnotationProcessor,batchProgressUpdater,batchProgressMetrics,
progressReporterResultsQueue,cbbEventProcessorThread,timerEventProcessorThread,e
ventThreadManager,eventListener,metricsAggregator,southbeachDummyClient,cbbPrice
r,dummyCbb,processorThread,counterGenerater,imntInfoDao,imntStatsInfoDao,org.spr
ingframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,sql
MapClient]; root of factory hierarchy

请你帮我解决一下我做错了什么以及在Jetty上需要做些什么? 如果您还需要任何其他细节,请告诉我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

少数事情:

  • 我在日志中看到上下文正在上升:
3   [main] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader
     

- 从类路径资源加载XML bean定义   [spring-http-config.xml] 203 [主要]   信息   org.springframework.beans.factory.xml.XmlBeanDefinitionReader     - 从类路径资源加载XML bean定义   [test-spring-http-confi g.xml] 218   [主要] INFO   org.springframework.beans.factory.xml.XmlBeanDefinitionReader     - 从类路径资源加载XML bean定义   [弹簧ibatis.xml]

所以你的代码正常运作。

  • 您写入控制台而不是写入日志文件。可能这就是你没有看到它的原因。尝试使用commons-logging来记录您的消息。

  • 为什么在web.xml中同时拥有ContextLoaderListener和BatchProgressorContextListener? (我假设BatchProgressorContextListener是你在帖子开头给出的代码的那个,对吧?) 可能只需要一个将加载上下文的Context上下文,ContextLoaderListener就足够了。 从web.xml中删除BatchProgressorContextListener并添加

 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value> 
       classpath:spring-http-config.xml
       classpath:test-spring-http-config.xml
       classpath:spring-ibatis.xml
    </param-value>
</context-param>