Deployment of Spring SpringContextResourceAdapter fails
-------------------------------------------------------

                 Key: GERONIMO-3874
                 URL: https://issues.apache.org/jira/browse/GERONIMO-3874
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: deployment
    Affects Versions: 2.1
         Environment: Running the full geronimo tomcat 6 - 2.1 distribution on 
Fedora Core 5 Linux
            Reporter: Michael Lee


I have been trying to prototype the deployment of Spring JMS application 
components in a Resource Adaptor format using the 
org.springframework.jca.context.SpringContextResourceAdapter introduced in 
Spring 2.5.  

After playing with various configurations I've attempted to take this right 
back to "vanilla" configurations of Spring RA config and Geronimo Deployment 
and I still get the same problem with deployment failure with the error message 
(in the server geronimo.out log): Unknown attribute "ContextConfigLocation".

------------------------------------------------------------------------------
ra.xml Descriptor
------------------------------------------------------------------------------

My ra.xml is currently a straight copy from 
http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/jca/context/SpringContextResourceAdapter.html
  

<?xml version="1.0" encoding="UTF-8"?>
 <connector xmlns="http://java.sun.com/xml/ns/j2ee";
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd";
                 version="1.5">
         <vendor-name>Spring Framework</vendor-name>
         <eis-type>Spring Connector</eis-type>
         <resourceadapter-version>1.0</resourceadapter-version>
         <resourceadapter>
                 
<resourceadapter-class>org.springframework.jca.context.SpringContextResourceAdapter</resourceadapter-class>
                 <config-property>
                         
<config-property-name>ContextConfigLocation</config-property-name>
                         
<config-property-type>java.lang.String</config-property-type>
                         
<config-property-value>META-INF/applicationContext.xml</config-property-value>
                 </config-property>
         </resourceadapter>
 </connector>

------------------------------------------------------------------------------
geronimo-ra.xml (built using maven - so pom values replaced)
------------------------------------------------------------------------------

<?xml version="1.0" encoding="ISO-8859-1"?>

<con:connector xmlns:con="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2";
        xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1";
        xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1";>

        <sys:environment> 
                <sys:moduleId>
                <sys:groupId>${pom.groupId}</sys:groupId>
            <sys:artifactId>${pom.artifactId}</sys:artifactId>
            <sys:version>${pom.version}</sys:version>
            <sys:type>rar</sys:type>
                </sys:moduleId>
        <sys:dependencies>
            <sys:dependency>
                <sys:groupId>console.dbpool</sys:groupId>
                <sys:artifactId>domain</sys:artifactId>
            </sys:dependency>
        </sys:dependencies>
        </sys:environment>
        
        <con:resourceadapter>
                <con:resourceadapter-instance>
                        
<con:resourceadapter-name>SpringCommonContextResourceAdapter</con:resourceadapter-name>
                        <nam:workmanager>
                                
<nam:gbean-link>DefaultWorkManager</nam:gbean-link>
                        </nam:workmanager>
                </con:resourceadapter-instance>
        </con:resourceadapter>
         
</con:connector>

------------------------------------------------------------------------------
Stack trace during deployment failure
------------------------------------------------------------------------------

14:50:02,735 WARN  [ConfigurationUtil] Could not load gbean 
default/job-creation-files/1.0.0-SNAPSHOT/rar?J2EEApplication=null,JCAResource=default/job-creation-files/1.0.0-SNAPSHOT/rar,ResourceAdapter=default/job-creation-files/1.0.0-SNAPSHOT/rar,ResourceAdapterModule=default/job-creation-files/1.0.0-SNAPSHOT/rar,j2eeType=JCAResourceAdapter,name=SpringCommonContextResourceAdapter
org.apache.geronimo.gbean.InvalidConfigurationException: Could not inject 
configuration data into the GBean 
default/job-creation-files/1.0.0-SNAPSHOT/rar?J2EEApplication=null,JCAResource=default/job-creation-files/1.0.0-SNAPSHOT/rar,ResourceAdapter=default/job-creation-files/1.0.0-SNAPSHOT/rar,ResourceAdapterModule=default/job-creation-files/1.0.0-SNAPSHOT/rar,j2eeType=JCAResourceAdapter,name=SpringCommonContextResourceAdapter
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.<init>(GBeanInstance.java:377)
        at 
org.apache.geronimo.kernel.basic.BasicKernel.loadGBean(BasicKernel.java:354)
        at 
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:441)
        at 
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
        at 
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
        at 
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:515)
        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.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
        at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
        at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
        at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
        at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
        at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
        at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
        at 
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:172)
        at 
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
        at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
        at 
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
        at 
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
        at 
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
        at 
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
        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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.geronimo.kernel.NoSuchAttributeException: Unknown 
attribute "ContextConfigLocation" in gbean 
default/job-creation-files/1.0.0-SNAPSHOT/rar?J2EEApplication=null,JCAResource=default/job-creation-files/1.0.0-SNAPSHOT/rar,ResourceAdapter=default/job-creation-files/1.0.0-SNAPSHOT/rar,ResourceAdapterModule=default/job-creation-files/1.0.0-SNAPSHOT/rar,j2eeType=JCAResourceAdapter,name=SpringCommonContextResourceAdapter
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.getAttributeByName(GBeanInstance.java:802)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute(GBeanInstance.java:751)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.<init>(GBeanInstance.java:372)
        ... 43 more


Worth noting that that this deployment descriptor appeared to deploy correctly 
in 2.0.2 (indicating the deployer reflection on available properties has 
changed?) but the deployment failed in 2.0.2 because the attempted resolution 
of JNDI datasources by a Spring component 
(org.springframework.jndi.JndiObjectFactoryBean) produced a NullPointerException


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to