geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Yet another ActivationSpec NotFound Problem
Date Fri, 10 Mar 2006 17:59:06 GMT
I don't see what is wrong, everything looks correct to me.  I would  
investigate by stepping through

ConnectorModuleBuilder.getActivationSpecInfoMap in a debugger while  
deploying the rar and

ConnectorModuleBuilder.locateActivationSpecInfo while deploying the mdb.

The first method puts the needed info about all the activation specs  
into a gbean for later reference, and the second method retrieves it  
when the mdb needs it.

thanks
david jencks

On Mar 9, 2006, at 7:06 AM, johnxmas wrote:

>
> 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,JCAResou 
> rce=ScortJcaAdapter15,j2eeType=JCAResourceAdapter,name=ScortJcaAdapter 
> 15</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=ScortJcaAda 
> pter15 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=ScortJcaAdapter 
> 15 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,J2EEA 
>>>>> ppli
>>>>> cati
>>>>> on=scortInboundCustListMdb,J2EEServer=geronimo,j2eeType=JCAActivat 
>>>>> ionS
>>>>> 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