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(RegistryImpl.java:321)
> >>>>>      at
> >>>>>
> >>>>>
> >>>>>
> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:288)
> >>>>>      at
> >>>>>
> >>>>>
> >>>>>
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:39)
> >>>>>      at
> >>>>>
> >>>>>
> >>>>>
> org.apache.tapestry5.internal.services.ServiceAnnotationObjectProvider.provide(ServiceAnnotationObjectProvider.java:35)
> >>>>>      at
> >>>>>
> >>>>>
> >>>>>
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:50)
> >>>>>      at
> >>>>>
> >>>>>
> >>>>>
> org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36)
> >>>>>      at
> >>>>>
> >>>>>
> >>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.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:589)
> >>>>>>>     at
> >>>>>>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
> >>>>>>>     at
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216)
> >>>>>>>     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:589)
> >>>>>>>     at
> >>>>>>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
> >>>>>>>     at
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216)
> >>>>>>>     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(OperationTrackerImpl.java:74)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:96)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:871)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.internal.spring.SpringModuleDef$1$2.createObject(SpringModuleDef.java:76)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:52)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:96)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:871)
> >>>>>>>>>    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.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:56)
> >>>>>>>>>    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.InvokableToRunnable.run(InvokableToRunnable.java:36)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:52)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:96)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:871)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> $ConfigurableWebApplicationContext_11e850a8929.delegate($ConfigurableWebApplicationContext_11e850a8929.java)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> $ConfigurableWebApplicationContext_11e850a8929.getBeanDefinitionCount($ConfigurableWebApplicationContext_11e850a8929.java)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.internal.spring.SpringModule$1.initializeApplication(SpringModule.java:45)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> $ApplicationInitializer_11e850a892a.initializeApplication($ApplicationInitializer_11e850a892a.java)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.services.TapestryModule$37.initializeApplication(TapestryModule.java:1912)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> $ApplicationInitializer_11e850a892a.initializeApplication($ApplicationInitializer_11e850a892a.java)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> $ApplicationInitializer_11e850a8925.initializeApplication($ApplicationInitializer_11e850a8925.java)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.services.TapestryModule$18.initializeApplication(TapestryModule.java:1043)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> $ServletApplicationInitializer_11e850a890f.initializeApplication($ServletApplicationInitializer_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:589)
> >>>>>>>>>    at
> >>>>>>>>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216)
> >>>>>>>>>    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(ContextLoader.java:172)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.internal.spring.SpringModuleDef$1$2$1.invoke(SpringModuleDef.java:86)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36)
> >>>>>>>>>    at
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.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
>
>

Reply via email to