geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ptriller <ptril...@soapwars.de>
Subject Re: Resource Refs in an ejb-jar inside an EAR on Geronimo 2-0-M5
Date Sun, 27 May 2007 23:05:28 GMT


djencks wrote:
> 
> 
> On May 27, 2007, at 12:09 PM, ptriller wrote:
> 
>>
>> Hi !
>>
>> Ok, my Problem.
>>
>> I try to have some EE5 MDBs inside an EAR for geronimo-2.0-M5.
>>
>> I managed to add the resource-adapter to my EAR, and it seems to work.
>> Becaue I can inject
>> the resources from the Resource Adapter  into a Listener class in  
>> my Webapp
>> (also included in
>> my EAR) and if I voluntarily add some typos to the resource adapter  
>> or the
>> resource-ref or
>> resource-env-res in my geronimo-web, I get deployment errors.
>>
>> So far so good.
>>
>> Now I want to add an ejb-jar with an MDB. ok....
>>
>> I write an EJB .. annotate it. and put it in a jar ... add it to the
>> application.xml .. all is well.
>>
>> That works no problem with stateless session beans .. but now I  
>> have some
>> JNDI  and env
>> resources to map ..
>> so I add an openejb-jar.xml to the jar .
>>
>> It seems they changed the xsd for this file substantially in the 2.0
>> release.. I had to
>> get the xsd from the geronimo server to know what I should do.
>>
>> The new format seems to be very simplistic compared to the old  
>> ones....
>>
>> my current openejb-jar.xml is
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
>> 	<ejb-deployment ejb-name="ScheduledTestEJB">
>> 		<resource-link res-ref-name="jms/QueueConnectionFactory"
>> 			res-id="ConnectionFactory" />
>> 		<resource-link res-ref-name="jms/ScheduleManagerQueue"
>> 			res-id="ScheduleManagerQueue" />
>> 		<resource-link res-ref-name="jms/ScheduledTopic"
>> 			res-id="ScheduledTopic" />
>> 	</ejb-deployment>
>> </openejb-jar>
>>
>> If I try to use the old format, I only get parse errors...
>>
>>
>> so ... My question is.
>>
>> How do I map env-resources (in my case JMX Topics and Queues)  and  
>> normal
>> resources correctly with this new openejb format ?
> 
> The openejb 2.x xml plan format should still work, it is either  
> converted on the fly to the new format or understood by some part of  
> the deployer.  I've been seeing one error message per ejb  plan but  
> it doesn't seem to have any bad effects, the ejbs still deploy and  
> work fine.
> 
> The last I heard was that it was better to use the 2.x plans rather  
> than a 3.x plan for openejb stuff since the conversion code will  
> continue to be maintained but the 3.x schema is subject to change  
> without any backward compatibility -- you would have  to update your  
> plans yourself.
> 
> What is actually not working with the 2.x plans?
> 
> thanks
> david jencks
> 
> 

Put simply the resources just wont map.


in my geronimo-web.xml (also part of my EAR)

i do a 

<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
	xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
	xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1"
	xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1">
........
	<resource-ref>
		<ref-name>jms/TopicConnectionFactory</ref-name>
		<resource-link>ConnectionFactory</resource-link>
	</resource-ref>
	<resource-env-ref>
		<ref-name>jms/ScheduleManagerQueue</ref-name>
		<admin-object-link>ScheduleManagerQueue</admin-object-link>
	</resource-env-ref>
	<resource-env-ref>
		<ref-name>jms/ScheduledTopic</ref-name>
		<admin-object-link>ScheduledTopic</admin-object-link>
	</resource-env-ref>
</web-app>


and it seems to work. It deploys and starts, and I get stuff injected and no
errors when I call the 
JMS methods.


in my openejb-jar.xml I tried
<?xml version="1.0" encoding="UTF-8"?>
<op:openejb-jar xmlns:op="http://www.openejb.org/xml/ns/openejb-jar-2.2"
	xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1">
	<op:enterprise-beans>
		<op:message-driven>
			<op:ejb-name>ScheduledTestEJB</op:ejb-name>
			<op:resource-adapter>ScheduleManagerRA</op:resource-adapter>
			<nam:resource-ref>
				<nam:ref-name>jms/QueueConnectionFactory</nam:ref-name>
				<nam:resource-link>ConnectionFactory</nam:resource-link>
			</nam:resource-ref>
			<nam:resource-env-ref>
				<nam:ref-name>jms/ScheduleManagerQueue</nam:ref-name>
				<nam:admin-object-link>ScheduleManagerQueue</nam:admin-object-link>
			</nam:resource-env-ref>
			<nam:resource-env-ref>
				<nam:ref-name>jms/ScheduledTopic</nam:ref-name>
				<nam:admin-object-link>ScheduledTopic</nam:admin-object-link>
			</nam:resource-env-ref>
		</op:message-driven>
	</op:enterprise-beans>
</op:openejb-jar>


and 

?xml version="1.0" encoding="UTF-8"?>
<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
	<ejb-deployment ejb-name="ScheduledTestEJB">
		<resource-link res-ref-name="jms/QueueConnectionFactory"
			res-id="ConnectionFactory" />
		<resource-link res-ref-name="jms/ScheduleManagerQueue"
			res-id="ScheduleManagerQueue" />
		<resource-link res-ref-name="jms/ScheduledTopic"
			res-id="ScheduledTopic" />
	</ejb-deployment>
</openejb-jar>


but in both cases I get a :

org.apache.geronimo.common.DeploymentException: Unable to resolve resource
reference 'jms/ScheduleManagerQueue' (Could not auto-map to resource.  Try
adding a resource-ref mapping to your Geronimo deployment plan.
Search conducted in current module and dependencies:
.....


I am sure I am missing something, but I have no Idea what .... do I have to
add a dependency
to the resource adapter ?


I have no idea ..




Thanks



Peter

-- 
View this message in context: http://www.nabble.com/Resource-Refs-in-an-ejb-jar-inside-an-EAR-on-Geronimo-2-0-M5-tf3824624s134.html#a10829382
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Mime
View raw message