Bug 777977 (SOA-506)

Summary: Seam Spring example fails to deploy to SOA-P
Product: [JBoss] JBoss Enterprise SOA Platform 4 Reporter: Jay Balunas <tech4j>
Component: Deployment, ExamplesAssignee: Kevin Conner <kevin.conner>
Status: CLOSED WORKSFORME QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.2 GA   
Target Milestone: ---   
Target Release: 4.3 GA, 4.2 CP03   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-506
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-28 08:25:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
soa-spring-example-deploy-error.txt none

Description Jay Balunas 2008-04-08 20:17:10 UTC
Date of First Response: 2008-04-09 13:25:52
project_key: SOA

Deploying the seam spring example to the SOA-P server fails with the error below (I will attach the full log).  I suspect it is in conflict with the "spring.esb" libraries.  This error does not happen on EAP which is what makes me think that is SOA specific.  The same error happens during start up and auto deploy if the application is installed.

WebApplicationContext]; startup date [Tue Apr 08 15:52:20 EDT 2008]; root of context hierarchy
2008-04-08 15:52:21,104 INFO  [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
2008-04-08 15:52:21,413 ERROR [org.apache.catalina.core.ContainerBase] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.NullPointerException
Caused by: 
java.lang.NullPointerException
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateIfRequired(BeanDefinitionParserDelegate.java:1142)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired(BeanDefinitionParserDelegate.java:1132)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:237)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:151)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:130)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:90)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:458)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:353)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:100)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:298)
        at org.jboss.seam.ioc.spring.ContextLoader.startupContextLoader(ContextLoader.java:59)
        at org.jboss.seam.ioc.spring.ContextLoader.create(ContextLoader.java:43)
        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:585)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
        at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
        at org.jboss.seam.Component.callComponentMethod(Component.java:1834)
        at org.jboss.seam.Component.callCreateMethod(Component.java:1757)
        at org.jboss.seam.Component.newInstance(Component.java:1746)
        at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:175)
        at org.jboss.seam.contexts.Lifecycle.endInitialization(Lifecycle.java:145)
        at org.jboss.seam.init.Initialization.init(Initialization.java:504)
        at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:33)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3854)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4352)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:732)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
        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:585)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.apache.catalina.core.StandardContext.init(StandardContext.java:5300)
        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:585)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
        at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
        at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
        at org.jboss.web.WebModule.startModule(WebModule.java:83)
        at org.jboss.web.WebModule.startService(WebModule.java:61)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start(ServiceController.java:417)
        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy54.start(Unknown Source)
        at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
        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:585)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
        at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
        at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
        at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
        at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
        at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy55.start(Unknown Source)
        at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
        at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
        at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy9.deploy(Unknown Source)
        at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
        at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
        at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
        at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
        at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
2008-04-08 15:52:21,413 ERROR [org.apache.catalina.core.StandardContext] Error listenerStart
2008-04-08 15:52:21,413 ERROR [org.apache.catalina.core.StandardContext] Context [/seam-spring] startup failed due to previous errors

Comment 1 Jay Balunas 2008-04-08 20:17:33 UTC
Attachment: Added: soa-spring-example-deploy-error.txt


Comment 4 tcunning 2008-06-02 16:13:33 UTC
I got this example to work by changing the following:

Change seam/build.properties to match your jboss.home property
Change seam/build.xml :

    <property name="deploy.dir"           value="${jboss.home}/server/default/deploy"/>
    <property name="conf.dir"             value="${jboss.home}/server/default/conf"/>

to

    <property name="deploy.dir"         value="${jboss.home}/server/production/deploy"/>
    <property name="conf.dir"             value="${jboss.home}/server/production/conf"/>

The server configuration in seam/build.xml probably should be a property in seam/build.properties rather than hard coded.        These steps worked for me on both GA and CP01.


Comment 5 Kevin Conner 2008-06-02 17:13:54 UTC
Thanks Tom, it sounds as if this should be documented somewhere in the platform release notes.

Comment 6 Jay Balunas 2008-06-02 17:40:31 UTC
QA will retest during the next release.

I believe that I did those steps when I saw the issue initially.  However I am not set up to test this now.  


Comment 7 Kevin Conner 2008-06-02 18:46:21 UTC
Jay, I have just checked both versions of spring.jar within the FP1 distribution and neither of them contain the line that is causing the issue in your stacktrace.

I'll try and get a copy of the CP2 release and check the versions included there.

Comment 8 Kevin Conner 2008-06-03 13:36:01 UTC
Jay, I have checked GA and CP1 releases and they contain the same spring.jar file.

abe5697be40e809af49b8241edb066686bcbec8f  ./jboss-soa-p.4.2.0_cp/jboss-as/server/production/deploy/spring.esb/spring.jar
abe5697be40e809af49b8241edb066686bcbec8f  ./jboss-soa-p.4.2.0_cp/jboss-as/server/all/deploy/spring.esb/spring.jar
d2ef0db5dbe1191ee9306cde8e365cbfe58edda9  ./jboss-soa-p.4.2.0_cp/seam/lib/spring.jar

abe5697be40e809af49b8241edb066686bcbec8f  ./jboss-soa-p.4.2.0/jboss-as/server/production/deploy/spring.esb/spring.jar
abe5697be40e809af49b8241edb066686bcbec8f  ./jboss-soa-p.4.2.0/jboss-as/server/all/deploy/spring.esb/spring.jar
d2ef0db5dbe1191ee9306cde8e365cbfe58edda9  ./jboss-soa-p.4.2.0/seam/lib/spring.jar

There are two jars in each but neither has the following line from the original report

java.lang.NullPointerException
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateIfRequired(BeanDefinitionParserDelegate.java:1142) 

Comment 9 Jay Balunas 2008-06-03 14:27:06 UTC
I will try to retest this as soon as I can - but it might not be this week.

Comment 10 Jay Balunas 2008-06-20 15:19:52 UTC
I tried to reproduce while testing JDK6 with the SOA 4.2.GA_CP01 and could not reproduce it.  I also retested with JDK5 and could not reproduce.

It was reproducible in my environment at the time, but not now.  

Comment 11 Lukáš Petrovický 2008-10-28 08:25:13 UTC
Also none of our automated tests reproduced this, so closing.