geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dsthode <damian.serr...@juntadeandalucia.es>
Subject Use of a GBean from a Message EJB
Date Wed, 25 Jun 2008 11:09:27 GMT

Hello all,

I'm trying to deploy an enterprise application in Geronimo 2.1.1 wich makes
use of a GBean from inside a Message EJB. That GBean is a custom developed
GBean that creates a thread and uses the persistence unit defined in my
persistence.xml as well as a ConnectionFactory and a Topic for a JMS
destination, all of them injected with the <reference> tags in the <gbean>
definition. All that does not represent a problem as all the injections work
right and I've created the connection to the JMS destination from my GBean
with no major trouble.

My problem comes when I try to reference that GBean from my Message EJB.
I've tried to add a <gbean-ref> to the <message-driven> definition of this
MDB but I get the following exception when deploying (see below for the
openejb-jar.xml):

[severity=ERROR,message=unexpected element
(uri:"http://geronimo.apache.org/xml/ns/naming-1.2", local:"ref-name").
Expected elements are <{http://openejb.apache.org/xml/n
s/openejb-jar-2.2}ref-type>,<{http://openejb.apache.org/xml/ns/openejb-jar-2.2}pattern>,<{http://openejb.apache.org/xml/ns/openejb-jar-2.2}ref-name>,locator=[node=null,ob
ject=null,url=null,line=38,col=15,offset=-1]]

If anyone needs the details for the exception stack trace I can post them,
but I think the error message is explanatory enough and the stack trace is
quite too long.

I've checked all the xsd files and <ref-name> is defined inside a
<gbean-ref> tag and it belongs to the geronimo-naming-1.2 schema , so I
don't get the meaning of this message.

Also I've tried to change the namespace to the <ref-name> tag and set it to
<ref-name xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2"> as the
error message suggests, but fails with the same error message. And i've
tried to prepend the "nam:" namespace to the <ref-name> tag also, but with
no success either.

And another question is, when I set the reference in my openejb-jar.xml, how
do I use this GBean from my MDB? I've tried to set a @Reference annotation
but I guess this is not going to work as I think it's only for JDBC, JMS and
the like resources, not for GBeans.

This is my openejb-jar.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1" 
			 xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2" 
			 xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0" 
			 xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0" 
			 xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
  <sys:environment>
    <sys:moduleId>
      <sys:groupId>sampleGroup</sys:groupId>
      <sys:artifactId>sample_EJB</sys:artifactId>
      <sys:version>1.0</sys:version>
      <sys:type>car</sys:type>
    </sys:moduleId>
   	<sys:dependencies>
   		<sys:dependency>
   			<sys:groupId>console.dbpool</sys:groupId>
   			<sys:artifactId>sampleDS</sys:artifactId>
   		</sys:dependency>
      	<sys:dependency>
   			<sys:groupId>console.jms</sys:groupId>
   			<sys:artifactId>sampleMsgResources</sys:artifactId>
   		</sys:dependency>
   	</sys:dependencies>
  </sys:environment>
  <enterprise-beans>
 		<session>
			<ejb-name>Bean1</ejb-name>
		</session>
		<session>
			<ejb-name>Bean2</ejb-name>
		</session>
 		<message-driven>
			<ejb-name>MDBBean1</ejb-name>
			<resource-adapter>
				<resource-link>sampleMsgResources</resource-link>
			</resource-adapter>
 			<gbean-ref>
<!-- the next tag is causing trouble with an "unexpected element" exception
-->
				<ref-name>UpdatesProcessorGBean</ref-name>
			</gbean-ref>
		</message-driven> 
 		<message-driven>
			<ejb-name>MDBBean2</ejb-name>
			<resource-adapter>
				<resource-link>sampleMsgResources</resource-link>
			</resource-adapter>
		</message-driven>
  </enterprise-beans>
  <sys:gbean name="UpdatesProcessorGBean"
class="sample.gbean.GBeanUpdatesProcessor">
<!-- this is the persistence unit defined in persistence.xml -->
    	<reference name="samplePU">
  		<name>samplePU</name>
  	</reference>
<!-- this is a connection factory defined in sampleMsgResources -->
  	<reference name="UpdatesConnectionFactory">
  		<name>UpdatesListasConnectionFactory</name>
	</reference>
<!-- this is a Topic defined in sampleMsgResources -->
  	<reference name="sampleTopic">
  		<name>sampleTopic</name>
  	</reference>
  </sys:gbean>
</openejb-jar>

If anyone has an idea, please help me, as I'm stuck and I don't know where
to go next.

Thank you.
-- 
View this message in context: http://www.nabble.com/Use-of-a-GBean-from-a-Message-EJB-tp18109820s134p18109820.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Mime
View raw message