ServletContextListener.contextInitialized не вызывается при инициализации контекста - PullRequest
2 голосов
/ 01 января 2011

Я создаю файл войны (progressReporter.war) и развертываю его на Jetty7.2.2.v20101205.У меня есть sysout на метод contextInitialized, который я должен видеть, когда запускается причал.Я запускаю джетти, используя
java -jar start.jar

Java-версия 1.6

То же самое, когда я работаю на tomcat, он работает абсолютно нормально.Для пристани я включил

  • jetty-client-7.2.2.v20101205.jar
  • jetty-extension-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 голосов
/ 01 января 2011

Несколько вещей:

  • Я вижу в журнале, что контекст повышается:
3   [main] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader

- Загрузка определений bean-компонентов XML из ресурса пути к классу [spring-http-config.xml] 203 [main] ИНФОРМАЦИЯ org.springframework.beans.factory.xml.XmlBeanDefinitionReader - загрузка определений bean-компонентов XML из ресурса пути к классу [test-spring-http-confi g.xml] 218 [main] ИНФОРМАЦИЯorg.springframework.beans.factory.xml.XmlBeanDefinitionReader - Загрузка определений XML-бинов из ресурса пути к классу [spring-ibatis.xml]

Итак, ваш код работает.

  • Вы пишете на консоль вместо записи в файл журнала.Вероятно, это причина, почему вы этого не видите.Попробуйте использовать обычное ведение журнала для регистрации вашего сообщения.

  • Почему у вас есть и ContextLoaderListener, и BatchProgressorContextListener в web.xml?(Я предполагаю, что BatchProgressorContextListener - это файл с кодом, который вы дали в начале публикации, верно?) Возможно, вам нужен только один прослушиватель контекста, который загрузит ваш контекст, и будет достаточно ContextLoaderListener.Удалите BatchProgressorContextListener из web.xml и добавьте вместо него

 <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>
...