I added the code to check if the webapp has already been configured with
Tuscany under r779348.
Thanks,
Raymond
--------------------------------------------------
From: "Raymond Feng" <[email protected]>
Sent: Wednesday, May 27, 2009 9:51 AM
To: <[email protected]>; <[email protected]>
Subject: Re: Tuscany Tomcat integration
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