Hi,

I deploy an Inbound Resource Adapter at server level (and, no I don't want to 
include it in my ear). This RA
have all is classes in a jar (including the infamous ActivationSpec :-D)

I deploy an EAR with a message-driven bean. And bingo, at deployment time

[************************> ] 93%  25s  Loading scortInboundCustListMdb16:14:53,2
99 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED s
tate: objectName="geronimo.server:EJBModule=inboundCustListMdb.jar,J2EEApplicati
on=scortInboundCustListMdb,J2EEServer=geronimo,j2eeType=JCAActivationSpec,name=S
cortInboundCustListMdb"
java.lang.ClassNotFoundException: com.scort.inbound.jca.socket.impl.SocketActiva
tionSpec
        at java.net.URLClassLoader$1.run(URLClassLoader.java:199)


I expected the Resource Adapter class loader to be a  parent of the EAR class 
loader !

Any help will be welcomed

Jean-Noël



Here are my deployment descriptors:

For the Adapter

Ra.xml
______

<?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">

  <description>EIS Resource Adapter 1.5</description>
  <display-name>EIS JCA Adapter 1.5</display-name>
  <vendor-name>SCORT</vendor-name>
  <eis-type>Serveur EIS</eis-type>
  <resourceadapter-version>4.0</resourceadapter-version>

  <license>
    <description>Copyright (c) 2005 SCPRT</description>
    <license-required>false</license-required>
  </license>

  <resourceadapter>
   
    
<resourceadapter-class>com.scort.inbound.jca.InboundResourceAdapter</resourceadapter-class>
    
    <outbound-resourceadapter>
    
      <connection-definition>

<managedconnectionfactory-class>com.scort.ctg.cics.eci.jca.EciManagedConnectionFactory</managedconnectionfactory-class>
  
        <config-property>
          <description>URL of the CTG</description>
          <config-property-name>ConnectionUrl</config-property-name>
          <config-property-type>java.lang.String</config-property-type>
          <config-property-value>tcp:localhost:2006</config-property-value>
        </config-property>
        <config-property>
          <description>Server Name</description>
          <config-property-name>ServerName</config-property-name>
          <config-property-type>java.lang.String</config-property-type>
          <!-- config-property-value></config-property-value -->
        </config-property>

        <config-property>
          <description>Jndi names of equivalent factories</description>
          <config-property-name>AlternateConfigsNames</config-property-name>
          <config-property-type>java.lang.String</config-property-type>
          <config-property-value>tcp:localhost:2006</config-property-value>
        </config-property>

        
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
        
<connectionfactory-impl-class>com.scort.ctg.cics.eci.jca.EciConnectionFactory</connectionfactory-impl-class>
        
<connection-interface>javax.resource.cci.Connection</connection-interface>
        
<connection-impl-class>com.scort.ctg.cics.eci.jca.EciConnection</connection-impl-class>
  
      </connection-definition>

      <transaction-support>LocalTransaction</transaction-support>
      
      <authentication-mechanism>
        
<authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
        
<credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
      </authentication-mechanism>
      <reauthentication-support>true</reauthentication-support>

    </outbound-resourceadapter>

           
    <inbound-resourceadapter>
      <messageadapter>        
        <messagelistener>
          
<messagelistener-type>com.scort.inbound.jca.api.InboundListener</messagelistener-type>
          <activationspec>
            
<activationspec-class>com.scort.inbound.jca.socket.impl.SocketActivationSpec</activationspec-class>
            <required-config-property>
              <config-property-name>id</config-property-name>
            </required-config-property>
            <required-config-property>
              <config-property-name>port</config-property-name>
            </required-config-property>

          </activationspec>
        </messagelistener>
      </messageadapter>
    </inbound-resourceadapter>

    <adminobject>
      
<adminobject-interface>com.scort.ctg.cics.eci.jca.EciConnectionSpecInterface</adminobject-interface>
      
<adminobject-class>com.scort.ctg.cics.eci.jca.EciConnectionSpec</adminobject-class>
      <config-property>
        <config-property-name>userName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
      </config-property>
      <config-property>
        <config-property-name>password</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
      </config-property>
    </adminobject>

    <adminobject>
      
<adminobject-interface>com.scort.ctg.cics.eci.jca.EciInteractionSpecInterface</adminobject-interface>
      
<adminobject-class>com.scort.ctg.cics.eci.jca.EciInteractionSpec</adminobject-class>
      <config-property>
        <config-property-name>commareaLength</config-property-name>
        <config-property-type>java.lang.Integer</config-property-type>
        <config-property-value>20000</config-property-value>        
      </config-property>
      <config-property>
        <config-property-name>compactOutgoingData</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
      </config-property>
      <config-property>
        <config-property-name>dumpCodePage</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
      </config-property>
      <config-property>
        <config-property-name>executionTimeout</config-property-name>
        <config-property-type>java.lang.Integer</config-property-type>
        <config-property-value>0</config-property-value>        
      </config-property>
      <config-property>
        <config-property-name>mode</config-property-name>
        <config-property-type>java.lang.Integer</config-property-type>
        <config-property-value>1</config-property-value>        
      </config-property>
      <config-property>
        <config-property-name>transactionName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
      </config-property>
    </adminobject>

  </resourceadapter>
</connector>


geronimo-ra.xml
______________
<?xml version="1.0" encoding="UTF-8"?>
           

<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector";
           configId="ScortJcaAdapter15"
           version="1.5">

  <resourceadapter>
           
    <resourceadapter-instance>
      <resourceadapter-name>ScortJcaAdapter15</resourceadapter-name>
      <workmanager>
        <gbean-link>DefaultWorkManager</gbean-link>
      </workmanager>
    </resourceadapter-instance>           

    <outbound-resourceadapter>
      <connection-definition>
        
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
        <connectiondefinition-instance>
          <name>demoInbound.managedConnectionFactory</name>
          
<implemented-interface>com.scort.ctg.cics.eci.jca.EciConnectionFactory</implemented-interface>
          <connectionmanager>
            <xa-transaction>
              <transaction-caching/>
            </xa-transaction>
            <single-pool>
              <max-size>10</max-size>
              
<blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
                <match-one/>
            </single-pool>
          </connectionmanager>
        </connectiondefinition-instance>
      </connection-definition>
    </outbound-resourceadapter>
    
    
  </resourceadapter>
  
  <adminobject>
      
<adminobject-interface>com.scort.ctg.cics.eci.jca.EciConnectionSpecInterface</adminobject-interface>
      
<adminobject-class>com.scort.ctg.cics.eci.jca.EciConnectionSpec</adminobject-class>
      <adminobject-instance>
        <message-destination-name>demoInbound.CS</message-destination-name>
        <config-property-setting name="userName">aa</config-property-setting>
        <config-property-setting name="password">aa</config-property-setting>
      </adminobject-instance>
  </adminobject>
  
    <adminobject>
      
<adminobject-interface>com.scort.ctg.cics.eci.jca.EciInteractionSpecInterface</adminobject-interface>
      
<adminobject-class>com.scort.ctg.cics.eci.jca.EciInteractionSpec</adminobject-class>
      <adminobject-instance>
        <message-destination-name>demoInbound.IS</message-destination-name>
        <config-property-setting 
name="commareaLength">20000</config-property-setting>
        <config-property-setting 
name="compactOutgoingData">true</config-property-setting>
        <config-property-setting 
name="dumpCodePage">cp037</config-property-setting>
        <config-property-setting 
name="executionTimeout">10000</config-property-setting>
        <config-property-setting name="mode">1</config-property-setting>
      </adminobject-instance>
  </adminobject>

</connector>

For the EAR

application.xml
____________

<?xml version="1.0" encoding="UTF-8"?>
<application  version="1.4"
              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/application_1_4.xsd";>

  <display-name>InboundCustListMdb</display-name>

  <description></description>

  <module>
    <ejb>inboundCustListMdb.jar</ejb>
  </module>
  
</application>


ejb-jar.xml (in a META-INF dir in the right jar)
_________       

<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar 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/ejb-jar_2_1.xsd";
         version="2.1">

  <enterprise-beans>
    <message-driven>
      <ejb-name>ScortInboundCustListMdb</ejb-name>
      
<ejb-class>com.scort.inbound.test.custlist.GeronimoInboundCustListMdb</ejb-class>
      <messaging-type>com.scort.inbound.jca.api.InboundListener</messaging-type>
      <transaction-type>Container</transaction-type>
        
      <activation-config>
        <activation-config-property>
          <activation-config-property-name>id</activation-config-property-name>
          
<activation-config-property-value>CUSTLIST</activation-config-property-value>
        </activation-config-property>
        <activation-config-property>
          
<activation-config-property-name>port</activation-config-property-name>
          
<activation-config-property-value>23072</activation-config-property-value>
        </activation-config-property>
      </activation-config> 
            
    </message-driven>
  </enterprise-beans>

  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>ScortInboundCustListMdb</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>NotSupported</trans-attribute>
      </container-transaction>
  </assembly-descriptor>

</ejb-jar>


opnejb-jar.xml (in a META-INF dir in the right jar)
____________    
   
        <openejb-jar
    xmlns="http://www.openejb.org/xml/ns/openejb-jar";
    xmlns:naming="http://geronimo.apache.org/xml/ns/naming";
    xmlns:security="http://geronimo.apache.org/xml/ns/security";
    xmlns:sys="http://geronimo.apache.org/xml/ns/deployment";
    configId="ScortInboundCustListMdb">
 <enterprise-beans>
        <message-driven>
    <ejb-name>ScortInboundCustListMdb</ejb-name>
<!--    
    <resource-adapter>
      
<target-name>geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAResource=ScortJcaAdapter15,j2eeType=JCAResourceAdapter,name=ScortJcaAdapter15</target-name>
    </resource-adapter>
-->   
    <resource-adapter>
       <resource-link>ScortJcaAdapter15</resource-link>
    </resource-adapter>       
    <activation-config>
      <activation-config-property>
        <activation-config-property-name>id</activation-config-property-name>
        
<activation-config-property-value>CUSTLIST</activation-config-property-value>   
                
      </activation-config-property>
      <activation-config-property>
        <activation-config-property-name>port</activation-config-property-name>
        
<activation-config-property-value>23072</activation-config-property-value>      
                
      </activation-config-property>
    </activation-config>
        </message-driven>
 </enterprise-beans>
</openejb-jar>

Reply via email to