It seems the hook is not tolerating the case where the webapp is already
configured with Tuscany listener/filter and packaged with Tuscany jars. I
got the following error as I already have the helloworld webapp installed
before adding tuscany.war.
May 27, 2009 9:43:01 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
May 27, 2009 9:43:01 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
May 27, 2009 9:43:37 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
May 27, 2009 9:43:37 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
May 27, 2009 9:43:47 AM org.apache.catalina.core.StandardContext
listenerStart
SEVERE: Exception sending context initialized event to listener instance of
class org.apache.tuscany.sca.host.webapp.TuscanyContextListener
java.lang.IllegalStateException:
org.apache.tuscany.sca.contribution.processor.ContributionResolveException:
org.apache.tuscany.sca.implementation.java.introspect.impl.DuplicateInitException:
More than one initializer found on implementaton
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:89)
at
org.apache.tuscany.sca.host.webapp.ServletHostHelper.createNode(ServletHostHelper.java:172)
at
org.apache.tuscany.sca.host.webapp.ServletHostHelper.init(ServletHostHelper.java:124)
at
org.apache.tuscany.sca.host.webapp.TuscanyContextListener.contextInitialized(TuscanyContextListener.java:33)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by:
org.apache.tuscany.sca.contribution.processor.ContributionResolveException:
org.apache.tuscany.sca.implementation.java.introspect.impl.DuplicateInitException:
More than one initializer found on implementaton
at
org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:185)
at
org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:1)
at
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:416)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:196)
at
org.apache.tuscany.sca.assembly.xml.BaseAssemblyProcessor.resolveImplementation(BaseAssemblyProcessor.java:353)
at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:991)
at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:1)
at
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:416)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:196)
at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:167)
at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:1)
at
org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint$LazyURLArtifactProcessor.resolve(DefaultURLArtifactProcessorExtensionPoint.java:357)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:121)
at
org.apache.tuscany.sca.contribution.processor.impl.ContributionContentProcessor.resolve(ContributionContentProcessor.java:216)
at
org.apache.tuscany.sca.contribution.processor.impl.ContributionContentProcessor.resolve(ContributionContentProcessor.java:1)
at
org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint$LazyURLArtifactProcessor.resolve(DefaultURLArtifactProcessorExtensionPoint.java:357)
at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.configureNode(NodeFactoryImpl.java:581)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:75)
... 27 more
Caused by:
org.apache.tuscany.sca.implementation.java.introspect.impl.DuplicateInitException:
More than one initializer found on implementaton
at
org.apache.tuscany.sca.implementation.java.introspect.impl.InitProcessor.visitMethod(InitProcessor.java:55)
at
org.apache.tuscany.sca.implementation.java.impl.JavaClassIntrospectorImpl.introspectClass(JavaClassIntrospectorImpl.java:109)
at
org.apache.tuscany.sca.implementation.java.impl.JavaImplementationFactoryImpl.createJavaImplementation(JavaImplementationFactoryImpl.java:55)
at
org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:183)
... 44 more
May 27, 2009 9:43:47 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
May 27, 2009 9:43:47 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
--------------------------------------------------
From: "ant elder" <[email protected]>
Sent: Tuesday, May 26, 2009 11:43 PM
To: <[email protected]>
Subject: Re: Tuscany Tomcat integration
On Tue, May 26, 2009 at 6:28 PM, ant elder <[email protected]> wrote:
and it has the limitation that we
can't do SCA injection into JEE artifacts like servlets which the deep
integration will allow.
FYI in r779023 i've added this injection support so you can now use
SCA annotations in things like Servlets, and added a
helloworld-servlet example to demonstrate this.
...ant