Re: Spring root context and Tap 5.1
No. I think you can only do one way or the other at the moment. Inge Solvoll wrote: Does that configuration mean that you can't inject T5 IoC services into spring? On Tue, Mar 17, 2009 at 3:47 PM, Anthony Schexnaildre wrote: Thank you. -Anthony On Mar 17, 2009, at 10:36 AM, Andy Pahne wrote: I think the reason is: the context is iniitialized twice. Once by the filter you defined in your web.xml and once by tapestry-spring. If you prefer tapestry-spring NOT initializing your context, then add this to your web.xml tapestry.use-external-spring-context true Anthony Schexnaildre schrieb: From my reading it seems Tap 5.1 is supposed to be backwards compatible with 5.0.18 but not quite there yet. I am running Tapestry in the same webapp as RestEasy. I am creating a root spring context that both resteasy and tapestry share. I just added 5.1 to try it out and I get an exception on jetty start up. Caused by: org.apache.tapestry5.ioc.internal.OperationException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.internal.spring.SpringModuleDef$3.createObject(SpringModuleDef.java:166) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) at org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) ... 54 more Caused by: java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:182) at org.apache.tapestry5.internal.spring.SpringModuleDef$3$1.invoke(SpringModuleDef.java:176) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) ... 73 more 2009-03-17 10:15:13.154::INFO: Started selectchannelconnec...@0.0.0.0 :8080 web.xml: PaymentObjects Webservices resteasy.servlet.mapping.prefix /ws tapestry.app-package com.paymentobjects.webservices.site contextConfigLocation classpath:webservices-client-context.xml classpath:webservices-context.xml locatorFactorySelector classpath:rootContext.xml parentContextKey ROOT_CONTEXT_KEY springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy app org.apache.tapestry5.spring.TapestrySpringFilter springSecurityFilterChain /* app /* org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap org.jboss.resteasy.plugins.spring.SpringContextLoaderListener org.springframework.security.ui.session.HttpSessionEventPublisher webservices org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher webservices /ws/* -Anthony - To
Re: Spring root context and Tap 5.1
Absolutrly not. I think it could actually be considered a bug that the old context loader would actually allow that. Not only can I still load spring services but it solved a threading issue with my webservices in the same webapp (most likely due to tapestry trying to init it's own context). -Anthony On Mar 17, 2009 3:47 PM, "Inge Solvoll" wrote: Does that configuration mean that you can't inject T5 IoC services into spring? On Tue, Mar 17, 2009 at 3:47 PM, Anthony Schexnaildre wrote: > Thank you. > > -Anthony > > > On Mar 17, 2009, at 10:36 AM, Andy Pahne wrote: > > >> I think the ...
Re: Spring root context and Tap 5.1
Does that configuration mean that you can't inject T5 IoC services into spring? On Tue, Mar 17, 2009 at 3:47 PM, Anthony Schexnaildre wrote: > Thank you. > > -Anthony > > > On Mar 17, 2009, at 10:36 AM, Andy Pahne wrote: > > >> I think the reason is: the context is iniitialized twice. Once by the >> filter you defined in your web.xml and once by tapestry-spring. >> >> If you prefer tapestry-spring NOT initializing your context, then add this >> to your web.xml >> >> >> >> tapestry.use-external-spring-context >> true >> >> >> >> >> >> Anthony Schexnaildre schrieb: >> >>> From my reading it seems Tap 5.1 is supposed to be backwards compatible >>> with 5.0.18 but not quite there yet. I am running Tapestry in the same >>> webapp as RestEasy. I am creating a root spring context that both resteasy >>> and tapestry share. I just added 5.1 to try it out and I get an exception on >>> jetty start up. >>> >>> Caused by: org.apache.tapestry5.ioc.internal.OperationException: Cannot >>> initialize context because there is already a root application context >>> present - check whether you have multiple ContextLoader* definitions in your >>> web.xml! >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) >>> at >>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >>> at >>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) >>> at >>> org.apache.tapestry5.internal.spring.SpringModuleDef$3.createObject(SpringModuleDef.java:166) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >>> at >>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >>> at >>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) >>> at >>> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) >>> at >>> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) >>> at >>> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) >>> at >>> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) >>> at >>> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >>> at >>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >>> at >>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) >>> at >>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) >>> ... 54 more >>> Caused by: java.lang.IllegalStateException: Cannot initialize context >>> because there is already a root application context present - check whether >>> you have multiple ContextLoader* definitions in your web.xml! >>> at >>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:182) >>> at >>> org.apache.tapestry5.internal.spring.SpringModuleDef$3$1.invoke(SpringModuleDef.java:176) >>> at >>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >>> ... 73 more >>> 2009-03-17 10:15:13.154::INFO: Started selectchannelconnec...@0.0.0.0 >>> :8080 >>> >>> >>> web.xml: >>> >>> >>> >>> >>> PaymentObjects Webservices >>> >>> resteasy.servlet.mapping.prefix >>> /ws >>> >>> >>> >>> >>> tapestry.app-package >>> com.paymentobjects.webservices.site >>> >>> >>> >>> contextConfigLocation >>> classpath:webservices-client-context.xml >>> classpath:webservices-context.xml >>> >>> >>> >>> locatorFactorySelector >>> classpath:rootContext.xml >>> >>> >>> >>> parentContextKey >>> ROOT_CONTEXT_KEY >>> >>> >>> >>> springSecurityFilterChain >>> >>> org.springframework.web.filter.DelegatingFilterProxy >>> >>> >>> >>> app >>> >>> org.apache.tapestry5.spring.TapestrySpringFilter >>> >>> >>> >>> springSecurityFilterChain >>> /* >>> >>> >>> >>> app >>> /* >>> >>> >>
Re: Spring root context and Tap 5.1
Thank you. -Anthony On Mar 17, 2009, at 10:36 AM, Andy Pahne wrote: I think the reason is: the context is iniitialized twice. Once by the filter you defined in your web.xml and once by tapestry-spring. If you prefer tapestry-spring NOT initializing your context, then add this to your web.xml tapestry.use-external-spring-context true Anthony Schexnaildre schrieb: From my reading it seems Tap 5.1 is supposed to be backwards compatible with 5.0.18 but not quite there yet. I am running Tapestry in the same webapp as RestEasy. I am creating a root spring context that both resteasy and tapestry share. I just added 5.1 to try it out and I get an exception on jetty start up. Caused by: org.apache.tapestry5.ioc.internal.OperationException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java: 90) at org .apache .tapestry5 .ioc .internal .PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org .apache .tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.internal.spring.SpringModuleDef $3.createObject(SpringModuleDef.java:166) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator $1.invoke(OperationTrackingObjectCreator.java:45) at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java: 68) at org .apache .tapestry5 .ioc .internal .PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org .apache .tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org .apache .tapestry5 .ioc .internal .OperationTrackingObjectCreator .createObject(OperationTrackingObjectCreator.java:49) at org .apache .tapestry5 .ioc .internal .SingletonServiceLifecycle .createService(SingletonServiceLifecycle.java:29) at org .apache .tapestry5 .ioc .internal .LifecycleWrappedServiceCreator .createObject(LifecycleWrappedServiceCreator.java:52) at org .apache .tapestry5 .ioc .internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java: 60) at org .apache .tapestry5 .ioc .internal .InterceptorStackBuilder.createObject(InterceptorStackBuilder.java: 52) at org .apache .tapestry5 .ioc .internal .RecursiveServiceCreationCheckWrapper .createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator $1.invoke(OperationTrackingObjectCreator.java:45) at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java: 68) at org .apache .tapestry5 .ioc .internal .PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org .apache .tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org .apache .tapestry5 .ioc .internal .OperationTrackingObjectCreator .createObject(OperationTrackingObjectCreator.java:49) at org .apache .tapestry5 .ioc .internal .services .JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java: 65) ... 54 more Caused by: java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:182) at org.apache.tapestry5.internal.spring.SpringModuleDef $3$1.invoke(SpringModuleDef.java:176) at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java: 68) ... 73 more 2009-03-17 10:15:13.154::INFO: Started selectchannelconnec...@0.0.0.0 :8080 web.xml: PaymentObjects Webservices resteasy.servlet.mapping.prefix /ws tapestry.app-package com.paymentobjects.webservices.site contextConfigLocation classpath:webservices-client-context.xml classpath:webservices-context.xml locatorFactorySelector classpath:rootContext.xml parentContextKey ROOT_CONTEXT_KEY springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy app class>org.apache.tapestry5.spring.TapestrySpringFilter springSecurityFilterChain /* app /* class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstraplistener-class> class >org.jboss.resteasy.plugins.spring.SpringContextLoaderListenerlistener-class> class >org.springframework.security.ui.session.HttpSessionEventPublisherlistener-class> web
Re: Spring root context and Tap 5.1
I think the reason is: the context is iniitialized twice. Once by the filter you defined in your web.xml and once by tapestry-spring. If you prefer tapestry-spring NOT initializing your context, then add this to your web.xml tapestry.use-external-spring-context true Anthony Schexnaildre schrieb: From my reading it seems Tap 5.1 is supposed to be backwards compatible with 5.0.18 but not quite there yet. I am running Tapestry in the same webapp as RestEasy. I am creating a root spring context that both resteasy and tapestry share. I just added 5.1 to try it out and I get an exception on jetty start up. Caused by: org.apache.tapestry5.ioc.internal.OperationException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.internal.spring.SpringModuleDef$3.createObject(SpringModuleDef.java:166) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) at org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:939) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) ... 54 more Caused by: java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:182) at org.apache.tapestry5.internal.spring.SpringModuleDef$3$1.invoke(SpringModuleDef.java:176) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) ... 73 more 2009-03-17 10:15:13.154::INFO: Started selectchannelconnec...@0.0.0.0:8080 web.xml: PaymentObjects Webservices resteasy.servlet.mapping.prefix /ws tapestry.app-package com.paymentobjects.webservices.site contextConfigLocation classpath:webservices-client-context.xml classpath:webservices-context.xml locatorFactorySelector classpath:rootContext.xml parentContextKey ROOT_CONTEXT_KEY springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy app org.apache.tapestry5.spring.TapestrySpringFilter springSecurityFilterChain /* app /* org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap org.jboss.resteasy.plugins.spring.SpringContextLoaderListener org.springframework.security.ui.session.HttpSessionEventPublisher webservices org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher webservices /ws/* -Anthony
Spring root context and Tap 5.1
From my reading it seems Tap 5.1 is supposed to be backwards compatible with 5.0.18 but not quite there yet. I am running Tapestry in the same webapp as RestEasy. I am creating a root spring context that both resteasy and tapestry share. I just added 5.1 to try it out and I get an exception on jetty start up. Caused by: org.apache.tapestry5.ioc.internal.OperationException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) at org .apache .tapestry5 .ioc .internal .PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org .apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java: 939) at org.apache.tapestry5.internal.spring.SpringModuleDef $3.createObject(SpringModuleDef.java:166) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator $1.invoke(OperationTrackingObjectCreator.java:45) at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org .apache .tapestry5 .ioc .internal .PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org .apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java: 939) at org .apache .tapestry5 .ioc .internal .OperationTrackingObjectCreator .createObject(OperationTrackingObjectCreator.java:49) at org .apache .tapestry5 .ioc .internal .SingletonServiceLifecycle .createService(SingletonServiceLifecycle.java:29) at org .apache .tapestry5 .ioc .internal .LifecycleWrappedServiceCreator .createObject(LifecycleWrappedServiceCreator.java:52) at org .apache .tapestry5 .ioc .internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) at org .apache .tapestry5 .ioc .internal .InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org .apache .tapestry5 .ioc .internal .RecursiveServiceCreationCheckWrapper .createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator $1.invoke(OperationTrackingObjectCreator.java:45) at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org .apache .tapestry5 .ioc .internal .PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org .apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java: 939) at org .apache .tapestry5 .ioc .internal .OperationTrackingObjectCreator .createObject(OperationTrackingObjectCreator.java:49) at org .apache .tapestry5 .ioc .internal .services .JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) ... 54 more Caused by: java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:182) at org.apache.tapestry5.internal.spring.SpringModuleDef $3$1.invoke(SpringModuleDef.java:176) at org .apache .tapestry5 .ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) ... 73 more 2009-03-17 10:15:13.154::INFO: Started selectchannelconnec...@0.0.0.0:8080 web.xml: PaymentObjects Webservices resteasy.servlet.mapping.prefix /ws tapestry.app-package com.paymentobjects.webservices.site contextConfigLocation classpath:webservices-client-context.xml classpath:webservices-context.xml locatorFactorySelector classpath:rootContext.xml parentContextKey ROOT_CONTEXT_KEY springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxyfilter-class> app org.apache.tapestry5.spring.TapestrySpringFilterfilter-class> springSecurityFilterChain /* app /* class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstraplistener-class> class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListenerlistener-class> class >org.springframework.security.ui.session.HttpSessionEventPublisherlistener-class> webservices class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcherservlet-class> webservices /ws/* -Ant