geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "johnxmas" <johnx...@free.fr>
Subject Re: Re: Re: Yet another ActivationSpec NotFound Problem
Date Thu, 09 Mar 2006 15:06:26 GMT

Thanks for your answer. But still stuck in problem

a) my Adapter configId (in geronimo-ra.xml) is ScortJcaAdapter15

b) following your advice, I added to my EAR the following geronimo-application.xml

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application"
             configId="EARPlan"
             parentId="ScortJcaAdapter15">
             
  <module>
    <ejb>inboundCustListMdb.jar</ejb>
    <alt-dd>openejb-jar.xml</alt-dd>
  </module>
  
</application>

c) and modified my openejb-jar.xml to change the parent
<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" parentId="EARPlan">
 <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>

So, no more ClassNotFoundException

But (alas), 

Geronimo Application Server started
15:58:38,228 INFO  [Hot Deployer] Deploying scortInboundMdbCustList.ear
15:58:40,931 ERROR [Hot Deployer] Unable to deploy: no activation spec found for
 resource adapter: geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAR
esource=ScortJcaAdapter15,j2eeType=JCAResourceAdapter,name=ScortJcaAdapter15 and
 message listener type: com.scort.inbound.jca.api.InboundListener
org.apache.geronimo.common.DeploymentException: no activation spec found for res
ource adapter: geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAResou
rce=ScortJcaAdapter15,j2eeType=JCAResourceAdapter,name=ScortJcaAdapter15 and mes
sage listener type: com.scort.inbound.jca.api.InboundListener
        at org.openejb.deployment.MdbBuilder.addActivationSpecWrapperGBean(MdbBu
ilder.java:247)
        at org.openejb.deployment.MdbBuilder.buildBeans(MdbBuilder.java:119)
        at org.openejb.deployment.OpenEJBModuleBuilder.addGBeans(OpenEJBModuleBu
ilder.java:533)
        at org.openejb.deployment.OpenEJBModuleBuilder$$FastClassByCGLIB$$11bd7b
20.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod
Invoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5
7)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperat
ionInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Pro
xyMethodInterceptor.java:96)
        at org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$1
3ff1c22.addGBeans(<generated>)
        at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfigurati
on(EARConfigBuilder.java:402)
        at org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLI
B$$38e56ec6.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod
Invoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5
7)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperat
ionInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Pro
xyMethodInterceptor.java:96)
        at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$
$1fec2494.buildConfiguration(<generated>)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:269)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:102)
        at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.i
nvoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod
Invoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:835)
        at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:
178)
        at org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doD
eploy(AbstractDeployCommand.java:106)
        at org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(Dis
tributeCommand.java:59)
        at java.lang.Thread.run(Thread.java:534)

Jean-Noël

>Hi,

>
>U can create a EAR plan (geronimo-application.xml)  that contains the
>EJB plan (openejb-jar.xml).
>
>The configIds and parentIds can be configured in such a way so that dependencies
>are resolved.
>EAR plan : configID="EARPlan" ParentID="ScortJcaAdapter15"
>EAR contains EJB plan(openejb-jar.xml) ConfigID="EJBPlan" ParentID="EARPlan"
>or
>U can set parent of EJB plan to RA plan ConfigID="EJBPlan"
>ParentID="ScortJcaAdapter15"
>or
>U can try configID for geronimo-ra.xml
><..... configId="myGroupId/myJCAAdapter/1.0/car"....>
>and the ear should include the following import
><import>
>  <groupId>myGroupId</groupId>
>  <type>car</type>
>  <artifactId>myJCAAdapter</artifactId>
>  <version>1.0</version>
></import>
>
>myGroupID and myJCAAdapter are names u can give for RA plan and are
>used in import for EAR plan.
>
>Regards
>Krish
>
>Regarding GroupID/Car these are
>
>On 3/9/06, johnxmas <johnxmas@free.fr> wrote:
>> >On Mar 8, 2006, at 7:48 AM, johnxmas wrote:
>> >
>> >> 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,J2EEAppli
>> >> cati
>> >> on=scortInboundCustListMdb,J2EEServer=geronimo,j2eeType=JCAActivationS
>> >> pec,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 !
>> >
>> >What did you do to make this be the case?
>>
>> I didn't do anything. I just assumed that  that, in the openebj-jar.xml, the parentId
or the resource-link element,
>> where there to do the trick
>>
>> Assuming you are using
>> >geronimo 1.0 or trunk/head, your ra plan should have something like
>> >this:
>> >
>> ><..... configId="myGroupId/myJCAAdapter/1.0/car"....>
>> >
>> >and the ear should include up before the dependencies (IIRC)
>> >
>> ><import>
>> >   <groupId>myGroupId</groupId>
>> >   <type>car</type>
>> >   <artifactId>myJCAAdapter</artifactId>
>> >   <version>1.0</version>
>> ></import>
>> >
>> >This specifies that one of the parent classloaders of the ear is the
>> >classloader of the deployed jca adapter.
>> >
>>
>> Sorry to insist, but there are informations I miss. I deploy my Adapter by dropping
the archive in the deploy
>> directory, putting nothing in the repository dir.
>>
>> So,
>> What is my groupId ? What is car ?
>> In which file for the ear must I specifiy the import element and how do I specify
dependencies ?
>>
>> Very basic questions indeed, but I'm quite lost.
>>
>> Thanks for your answer...
>>
>> Jean-Noël
>>
>>
>>
Mime
View raw message