I'm getting this error on T 5.0.18. I'm not using 5.1, just 5.0.18, and I'm pretty sure I haven't added anything else than the listing below:
<filter> <filter-name>tapestry5</filter-name> <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> </filter> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> I'm getting the following error on server startup: 2009-01-20 14:20:56.143:/moby:INFO: Initializing Spring root WebApplicationContext 0 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started 42 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing org.springframework.web.context.support.xmlwebapplicationcont...@54ec115b: display name [Root WebApplicationContext]; startup date [Tue Jan 20 14:20:56 CET 2009]; root of context hierarchy 86 [main] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] 351 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean factory for application context [org.springframework.web.context.support.xmlwebapplicationcont...@54ec115b]: org.springframework.beans.factory.support.defaultlistablebeanfact...@5da5e65f 368 [main] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.defaultlistablebeanfact...@5da5e65f: defining beans [systemBO]; root of factory hierarchy 383 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 381 ms 2009-01-20 14:20:56.526::WARN: Failed startup of context org.mortbay.jetty.webapp.webappcont...@7afaa550 {/moby,c:/dev/projects/Moby/web} 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.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) On Sun, Jan 4, 2009 at 10:26 AM, Otho <taa...@googlemail.com> wrote: > As I said it is a "nice to have" feature. But I would reckon that in > overwhelming number of cases you would inject Spring beans into Tapestry > and > not Tapestry services into beans. So even if you would have to maintain > duplicate config for a small number of beans/services you are still better > off than being forced to use an older version of a Tapestry library or > require the Tapestry team to maintain 2 different versions. > > If you use Tapestry and Spring together, it is probably the easiest way to > not define any Tapestry services which you need in a Spring config but > define them as spring beans from the ground on. Injection of beans into > Tapestry was seamless, so there is not really a NEED for the other way > round > IMO.You can write your commandline app with services as beans as usual and > use everything in Tapestry by @Inject. For me that is/was one of the > greatest points in Tapestry: Not being forced to use the Tapestry IOC > except > in cases where I really want to. > > Summing up to 6cts. now :) > > 2009/1/3 Jonathan Barker <jonathan.theit...@gmail.com> > > > > > One use of injecting Tapestry services into Spring beans would be to take > > advantage of Spring's transaction management. Or convenience features > for > > setting up a Quartz scheduler. Or making Tapestry services available via > > JMS > > or SOAP or whatever. Spring does have a rich feature set. > > > > Some services I write need to work within a T5 app, and also from > > command-line support utilities. I tend to use just Spring for those > > situations, but what if I want to include an optional (autowired) > reference > > to a service only available in the web application? I wind up > duplicating > > service configurations. > > > > There have been a few cases where it would have been really handy to have > > it > > NOT MATTER where I set up the service. > > > > I'm hoping there is some perfect solution that comes to Howard in a > moment > > of inspiration. If not, supporting two libraries or at least > configuration > > modes would seem to be necessary. > > > > Another 2 cents. > > > > Jonathan > > > > > -----Original Message----- > > > From: Otho [mailto:taa...@googlemail.com] > > > Sent: Saturday, January 03, 2009 10:59 > > > To: Tapestry users > > > Subject: Re: spring context troubles > > > > > > Hmm, the question is, how important it is to inject Tapestry IOC > services > > > into Spring beans compared to just being able to use the Spring beans > as > > > usual. > > > > > > I would think the latter option is much less effort overall. If I want > to > > > inject something into a spring bean I have to define it as a bean and > > wire > > > it up as usual. And I can use it in Tapestry just like a service. I > can't > > > really think of a scenario where it would really be needed to @Inject > > > something into a spring bean. Sure it would be nice to have, but if I > > have > > > to mix different versions of Tapestry libraries for that it is probably > > > not > > > worth it. > > > > > > Just my 2cts > > > > > > I guess it is mainly for the Web Flow integration, but if the price is, > > > that > > > > > > > > > 2009/1/2 Howard Lewis Ship <hls...@gmail.com> > > > > > > > Seems like I'm faced with two evils: breaking compatibility on the > one > > > > hand, maintaining two different sets of Spring integration on the > > > > other. > > > > > > > > On Fri, Jan 2, 2009 at 10:50 AM, Fernando Padilla <f...@alum.mit.edu > > > > > > wrote: > > > > > That's alright to keep them separate, but I'm just worried that the > > > > 5.0.18 > > > > > will stop working at some point.. > > > > > > > > > > That is why I proposed that you should really have two different > > > > pacakges.. > > > > > one for each direction of integration, and people can explicitly > > > choose > > > > > which one to use. It just seems kind of brittle saying never to > > > upgrade > > > > > your spring package, that strategy will fail at some point, and > could > > > > just > > > > > confuse people in the interim... > > > > > > > > > > Howard Lewis Ship wrote: > > > > >> > > > > >> Actually, I'm liking the idea that compatibility on this comes > from > > > > >> continuing to use the old version of tapestry-spring. I haven't > > found > > > > >> a way to do both: allow injection of Tapestry services into Spring > > > > >> beans and expose Spring beans as Tapestry services. The lifecycles > > of > > > > >> the two containers do not mesh easily. > > > > >> > > > > >> On Thu, Jan 1, 2009 at 3:23 PM, Fernando Padilla < > f...@alum.mit.edu > > > > > > > >> wrote: > > > > >>> > > > > >>> nice work around. but I want to make sure, this will be a > > temporary > > > > work > > > > >>> around until you get the latest spring module working as you > > desire, > > > > with > > > > >>> two-way integration?? > > > > >>> > > > > >>> Howard Lewis Ship wrote: > > > > >>>> > > > > >>>> I think the best option for you is to use Tapestry 5.1, but > revert > > > > >>>> tapestry-spring to 5.0.18. This allows you to benefit from the > > > > >>>> improvements to tapestry-core without having any compatibility > > > > >>>> problems with the changes to tapestry-spring. I'm adding > > > documentation > > > > >>>> to the web site to explain this. > > > > >>>> > > > > >>>> On Mon, Dec 29, 2008 at 4:20 PM, Fernando Padilla > > > <f...@alum.mit.edu> > > > > >>>> wrote: > > > > >>>>> > > > > >>>>> I'm sorry that I'm hammering on this code, while it's still > > > probably > > > > a > > > > >>>>> work > > > > >>>>> in progress.. (always available through im) > > > > >>>>> > > > > >>>>> but I commented out the spring ContextLoaderListener, moved the > > > > filter > > > > >>>>> up > > > > >>>>> to > > > > >>>>> be first, and this seems to initialize properly at least for > > Jetty > > > > >>>>> (within > > > > >>>>> eclipse). The next issue, it looks like it did not register > the > > > > spring > > > > >>>>> beans in the TapestryIoC.. so now I'm getting exceptions saying > > > that > > > > it > > > > >>>>> can't find particular beans: > > > > >>>>> > > > > >>>>> > > > > >>>>> .... > > > > >>>>> Caused by: java.lang.RuntimeException: Service id > > > > >>>>> 'common-conf-properties' > > > > >>>>> is not defined by any module. Defined services: > > > > >>>>> ActionRenderResponseGenerator, > AjaxComponentEventRequestHandler, > > > > >>>>> AjaxComponentEventResultProcessor, AjaxPartialResponseRenderer, > > > > Alias, > > > > >>>>> AliasOverrides, AppSubscriptionHandler, ApplicationContext, > > > > >>>>> ApplicationDefaults, ApplicationGlobals, > ApplicationInitializer, > > > > >>>>> ApplicationStateManager, > > > ApplicationStatePersistenceStrategySource, > > > > >>>>> AspectDecorator, AssetBindingFactory, AssetObjectProvider, > > > > AssetSource, > > > > >>>>> BaseURLSource, BeanBlockOverrideSource, BeanBlockSource, > > > > >>>>> BeanModelSource, > > > > >>>>> BindingSource, ChainBuilder, ClassNameLocator, > > > > >>>>> ClasspathAssetAliasManager, > > > > >>>>> ClasspathAssetFactory, ClasspathURLConverter, > > > > >>>>> ClientPersistentFieldStorage, > > > > >>>>> ClientPersistentFieldStrategy, ComponentClassCache, > > > > >>>>> ComponentClassFactory, > > > > >>>>> ComponentClassResolver, ComponentClassTransformWorker, > > > > >>>>> ComponentClassTransformer, > ComponentClassesInvalidationEventHub, > > > > >>>>> ComponentDefaultProvider, ComponentEventRequestHandler, > > > > >>>>> ComponentEventResultProcessor, > ComponentInstanceResultProcessor, > > > > >>>>> ComponentInstantiatorSource, ComponentInvocationMap, > > > > >>>>> ComponentMessagesInvalidationEventHub, ComponentMessagesSource, > > > > >>>>> ComponentPageElementResourcesSource, ComponentSource, > > > > >>>>> ComponentTemplateSource, > ComponentTemplatesInvalidationEventHub, > > > > >>>>> Context, > > > > >>>>> ContextAssetFactory, ContextPathEncoder, ContextValueEncoder, > > > > >>>>> CookieSink, > > > > >>>>> CookieSource, Cookies, CtClassSource, DataTypeAnalyzer, > > > > >>>>> DefaultDataTypeAnalyzer, DefaultFileItemFactory, > > > > >>>>> DefaultImplementationBuilder, EndOfRequestListenerHub, > > > Environment, > > > > >>>>> EnvironmentalShadowBuilder, ExceptionAnalyzer, > ExceptionTracker, > > > > >>>>> FacebookAuthFilterImpl, FactoryDefaults, FbForceModeFilter, > > > > >>>>> FieldTranslatorSource, FieldValidationSupport, > > > > >>>>> FieldValidatorDefaultSource, > > > > >>>>> FieldValidatorSource, FormSupport, HiddenFieldLocationRules, > > > > >>>>> HttpServletRequest, HttpServletRequestHandler, > > IgnoredPathsFilter, > > > > >>>>> InjectionProvider, InternalRequestGlobals, LinkCreationHub, > > > > >>>>> LinkFactory, > > > > >>>>> LocalizationSetter, LocationRenderer, LoggingDecorator, > > > > MarkupRenderer, > > > > >>>>> MarkupWriterFactory, MasterDispatcher, MasterObjectProvider, > > > > >>>>> MessageBindingFactory, MetaDataLocator, MultipartDecoder, > > > > >>>>> NullFieldStrategyBindingFactory, NullFieldStrategySource, > > > > >>>>> ObjectRenderer, > > > > >>>>> OsForceTypeFilter, PageActivationContextCollector, > > > > >>>>> PageContentTypeAnalyzer, > > > > >>>>> PageDocumentGenerator, PageElementFactory, PageLoader, > > > > >>>>> PageMarkupRenderer, > > > > >>>>> PagePool, PageRenderQueue, PageRenderRequestHandler, > > > > >>>>> PageResponseRenderer, > > > > >>>>> PageTemplateLocator, PartialMarkupRenderer, > > > PersistentFieldManager, > > > > >>>>> PersistentLocale, PipelineBuilder, PropBindingFactory, > > > > PropertyAccess, > > > > >>>>> PropertyConduitSource, PropertyShadowBuilder, RegistryStartup, > > > > >>>>> RenderSupport, Request, RequestExceptionHandler, > RequestGlobals, > > > > >>>>> RequestHandler, RequestLogFilter, RequestPageCache, > > > > >>>>> RequestPathOptimizer, > > > > >>>>> RequestSecurityManager, ResourceCache, ResourceDigestGenerator, > > > > >>>>> ResourceStreamer, Response, ResponseRenderer, > > > ServiceLifecycleSource, > > > > >>>>> ServletApplicationInitializer, > > > > >>>>> SessionApplicationStatePersistenceStrategy, > > > > >>>>> StrategyBuilder, SymbolSource, TemplateParser, ThreadLocale, > > > > >>>>> TranslateBindingFactory, TranslatorSource, TypeCoercer, > > > URLEncoder, > > > > >>>>> UpdateListenerHub, ValidateBindingFactory, > > > > >>>>> ValidationConstraintGenerator, > > > > >>>>> ValidationMessagesSource, ValueEncoderSource. > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.locateModuleForService(Regi > > > stryImpl.java:321) > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.jav > > > a:288) > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocat > > > orImpl.java:39) > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.internal.services.ServiceAnnotationObjectProvider.pro > > > vide(ServiceAnnotationObjectProvider.java:35) > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invo > > > ke(MasterObjectProviderImpl.java:50) > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunna > > > ble.java:36) > > > > >>>>> at > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTracke > > > rImpl.java:52) > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> Howard Lewis Ship wrote: > > > > >>>>>> > > > > >>>>>> We need to figure out the order that the filters are > > initialized, > > > so > > > > >>>>>> that the Tapestry filter can be initialized first. I think > just > > > > >>>>>> listing it first in the web.xml may do the trick. > > > > >>>>>> > > > > >>>>>> On Mon, Dec 29, 2008 at 4:00 PM, Fernando Padilla < > > > > f...@alum.mit.edu> > > > > >>>>>> wrote: > > > > >>>>>>> > > > > >>>>>>> I just tried it, and it won't work like that :( > > > > >>>>>>> > > > > >>>>>>> Like I said, I use spring outside of tapestry. So I need a > > > valid > > > > >>>>>>> working > > > > >>>>>>> spring context before the first request ever gets to tapestry > > > > >>>>>>> filter.. > > > > >>>>>>> > > > > >>>>>>> Here is my exception when I comment out the normal > > > > >>>>>>> ContextLoaderListener.. > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> [Console output redirected to > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > file:/local/fern/work/social-app- > > > repository/trunk/fanwars/site/../../log.txt] > > > > >>>>>>> 2008-12-29 15:58:26,140 [main] ERROR org.mortbay.log - failed > > > > OpenDS > > > > >>>>>>> java.lang.NullPointerException > > > > >>>>>>> at > > > > >>>>>>> > > > com.protrade.common.spring.OpenDSFilter.init(OpenDSFilter.java:28) > > > > >>>>>>> at > > > > >>>>>>> > > > com.protrade.common.web.ProtradeFilter.init(ProtradeFilter.java:37) > > > > >>>>>>> at > > > > >>>>>>> > > > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:58 > > > 9) > > > > >>>>>>> at > > > > >>>>>>> > > org.mortbay.jetty.servlet.Context.startContext(Context.java:139) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:121 > > > 6) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) > > > > >>>>>>> at org.mortbay.jetty.Server.doStart(Server.java:222) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>> at runjettyrun.Bootstrap.main(Bootstrap.java:76) > > > > >>>>>>> 2008-12-29 15:58:26,142 [main] ERROR org.mortbay.log - Failed > > > > startup > > > > >>>>>>> of > > > > >>>>>>> context > > > > >>>>>>> > > > org.mortbay.jetty.webapp.webappcont...@1961581{/,src/main/webapp} > > > > >>>>>>> java.lang.NullPointerException > > > > >>>>>>> at > > > > >>>>>>> > > > com.protrade.common.spring.OpenDSFilter.init(OpenDSFilter.java:28) > > > > >>>>>>> at > > > > >>>>>>> > > > com.protrade.common.web.ProtradeFilter.init(ProtradeFilter.java:37) > > > > >>>>>>> at > > > > >>>>>>> > > > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:58 > > > 9) > > > > >>>>>>> at > > > > >>>>>>> > > org.mortbay.jetty.servlet.Context.startContext(Context.java:139) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:121 > > > 6) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) > > > > >>>>>>> at org.mortbay.jetty.Server.doStart(Server.java:222) > > > > >>>>>>> at > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>> at runjettyrun.Bootstrap.main(Bootstrap.java:76) > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> Howard Lewis Ship wrote: > > > > >>>>>>>> > > > > >>>>>>>> This is a change in behavior from Tapestry 5.0; it was > > > necessary > > > > in > > > > >>>>>>>> order to coordinate Spring and Tapestry IoC. It is > necessary > > > to > > > > let > > > > >>>>>>>> Tapestry initialize Spring and use Tapestry-specific > > subclasses > > > of > > > > >>>>>>>> XmlWebApplicationContext and DefaultListableBeanFactory, to > > > hook > > > > in > > > > >>>>>>>> the logic that allows Spring beans to use @Inject and > > > > >>>>>>>> @InjectService. > > > > >>>>>>>> > > > > >>>>>>>> You should be fine if you just remove the > > ContextLoaderListener > > > > from > > > > >>>>>>>> your web.xml. > > > > >>>>>>>> > > > > >>>>>>>> On Mon, Dec 29, 2008 at 3:22 PM, Fernando Padilla > > > > >>>>>>>> <f...@citizensportsinc.com> wrote: > > > > >>>>>>>>> > > > > >>>>>>>>> I just tried to run with the latest tapestry-trunk, and I > get > > > > this > > > > >>>>>>>>> really > > > > >>>>>>>>> nasty exception :( :( > > > > >>>>>>>>> > > > > >>>>>>>>> I initialize my own spring context with a > > > ContextLoaderListener, > > > > >>>>>>>>> because > > > > >>>>>>>>> I > > > > >>>>>>>>> need spring outside of tapestry. Why is tapestry > attempting > > > to > > > > >>>>>>>>> create > > > > >>>>>>>>> a > > > > >>>>>>>>> context? > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> 2008-12-29 15:18:27,363 [main] ERROR > > > > >>>>>>>>> org.apache.tapestry5.ioc.Registry > > > > >>>>>>>>> - > > > > >>>>>>>>> Cannot initialize context because there is already a root > > > > >>>>>>>>> application > > > > >>>>>>>>> context present - check whether you have multiple > > > ContextLoader* > > > > >>>>>>>>> definitions > > > > >>>>>>>>> in your web.xml! > > > > >>>>>>>>> 2008-12-29 15:18:27,363 [main] ERROR > > > > >>>>>>>>> org.apache.tapestry5.ioc.Registry > > > > >>>>>>>>> - > > > > >>>>>>>>> Operations trace: > > > > >>>>>>>>> 2008-12-29 15:18:27,364 [main] ERROR > > > > >>>>>>>>> org.apache.tapestry5.ioc.Registry > > > > >>>>>>>>> - > > > > >>>>>>>>> [ > > > > >>>>>>>>> 1] Realizing service ApplicationContext > > > > >>>>>>>>> 2008-12-29 15:18:27,364 [main] ERROR > > > > >>>>>>>>> org.apache.tapestry5.ioc.Registry > > > > >>>>>>>>> - > > > > >>>>>>>>> [ > > > > >>>>>>>>> 2] Invoking ObjectCreator for Spring ApplicationContext > > > > >>>>>>>>> 2008-12-29 15:18:27,364 [main] ERROR > > > > >>>>>>>>> org.apache.tapestry5.ioc.Registry > > > > >>>>>>>>> - > > > > >>>>>>>>> [ > > > > >>>>>>>>> 3] Creating Spring ApplicationContext via ContextLoader > > > > >>>>>>>>> 2008-12-29 15:18:27,365 [main] ERROR > > Spring.ApplicationContext > > > - > > > > >>>>>>>>> Construction of service ApplicationContext failed: Cannot > > > > >>>>>>>>> initialize > > > > >>>>>>>>> context > > > > >>>>>>>>> because there is already a root application context present > - > > > > check > > > > >>>>>>>>> whether > > > > >>>>>>>>> you have multiple ContextLoader* definitions in your > web.xml! > > > > >>>>>>>>> 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.run(OperationTracke > > > rImpl.java:74) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTra > > > ckerImpl.java:96) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThre > > > adOperationTracker.java:68) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:87 > > > 1) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.internal.spring.SpringModuleDef$1$2.createObject(Spri > > > ngModuleDef.java:76) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke( > > > OperationTrackingObjectCreator.java:45) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunna > > > ble.java:36) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTracke > > > rImpl.java:52) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTra > > > ckerImpl.java:96) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThre > > > adOperationTracker.java:68) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:87 > > > 1) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObj > > > ect(OperationTrackingObjectCreator.java:49) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService( > > > SingletonServiceLifecycle.java:29) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObj > > > ect(LifecycleWrappedServiceCreator.java:52) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(Int > > > erceptorStackBuilder.java:56) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.cre > > > ateObject(RecursiveServiceCreationCheckWrapper.java:60) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke( > > > OperationTrackingObjectCreator.java:45) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunna > > > ble.java:36) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTracke > > > rImpl.java:52) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTra > > > ckerImpl.java:96) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThre > > > adOperationTracker.java:68) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:87 > > > 1) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObj > > > ect(OperationTrackingObjectCreator.java:49) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createO > > > bject(JustInTimeObjectCreator.java:65) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > $ConfigurableWebApplicationContext_11e850a8929.delegate($ConfigurableWebAp > > > plicationContext_11e850a8929.java) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > $ConfigurableWebApplicationContext_11e850a8929.getBeanDefinitionCount($Con > > > figurableWebApplicationContext_11e850a8929.java) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.internal.spring.SpringModule$1.initializeApplication( > > > SpringModule.java:45) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > $ApplicationInitializer_11e850a892a.initializeApplication($ApplicationInit > > > ializer_11e850a892a.java) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$37.initializeApplication(Tape > > > stryModule.java:1912) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > $ApplicationInitializer_11e850a892a.initializeApplication($ApplicationInit > > > ializer_11e850a892a.java) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > $ApplicationInitializer_11e850a8925.initializeApplication($ApplicationInit > > > ializer_11e850a8925.java) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$18.initializeApplication(Tape > > > stryModule.java:1043) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > $ServletApplicationInitializer_11e850a890f.initializeApplication($ServletA > > > pplicationInitializer_11e850a890f.java) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:91) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:58 > > > 9) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > org.mortbay.jetty.servlet.Context.startContext(Context.java:139) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:121 > > > 6) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) > > > > >>>>>>>>> at org.mortbay.jetty.Server.doStart(Server.java:222) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > > > > >>>>>>>>> at runjettyrun.Bootstrap.main(Bootstrap.java:76) > > > > >>>>>>>>> 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(Co > > > ntextLoader.java:172) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.internal.spring.SpringModuleDef$1$2$1.invoke(SpringMo > > > duleDef.java:86) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunna > > > ble.java:36) > > > > >>>>>>>>> at > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > > > > > > > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTracke > > > rImpl.java:52) > > > > >>>>>>>>> ... 45 more > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > --------------------------------------------------------------------- > > > > >>>>>>>>> To unsubscribe, e-mail: > > users-unsubscr...@tapestry.apache.org > > > > >>>>>>>>> For additional commands, e-mail: users- > > > h...@tapestry.apache.org > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>> > > > > --------------------------------------------------------------------- > > > > >>>>>>> To unsubscribe, e-mail: > users-unsubscr...@tapestry.apache.org > > > > >>>>>>> For additional commands, e-mail: > > users-h...@tapestry.apache.org > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>> > > > > >>>>> > > ------------------------------------------------------------------ > > > --- > > > > >>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > > >>>>> For additional commands, e-mail: > users-h...@tapestry.apache.org > > > > >>>>> > > > > >>>>> > > > > >>>> > > > > >>>> > > > > >>> > > -------------------------------------------------------------------- > > > - > > > > >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > > >>> For additional commands, e-mail: users-h...@tapestry.apache.org > > > > >>> > > > > >>> > > > > >> > > > > >> > > > > >> > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Howard M. Lewis Ship > > > > > > > > Creator Apache Tapestry and Apache HiveMind > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > >