Hi all,
I create a inbound JCA that connects to some JMS Queues (their name is defined in a DB accessed by hibernate classes). The deploy of the jca and the start/stop is ok. Here there is the ra.xml:
<?xml version="1.0" encoding="UTF-8"?>
<connector id="Connector_ID" version="1.5" 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">
<description></description>
<display-name>UBQ_JSR212_JCA_Queue</display-name>
<vendor-name>Ubiquity s.r.l.</vendor-name>
<eis-type>JMS</eis-type>
<resourceadapter-version>1.0</resourceadapter-version>
<resourceadapter>
<resourceadapter-class>it.ubiquity.sams.jms.DequeuerResourceAdapter</resourceadapter-class>
<inbound-resourceadapter>
<messageadapter>
<messagelistener>
<messagelistener-type>javax.jms.MessageListener</messagelistener-type>
<activationspec>
<activationspec-class>it.ubiquity.sams.jms.DequeuerActivationSpec</activationspec-class>
<required-config-property>
<description>The queue prefix</description>
<config-property-name>queuePrefix</config-property-name>
</required-config-property>
</activationspec>
</messagelistener>
</messageadapter>
</inbound-resourceadapter>
<security-permission>
<description>Permissions allowed to the EIS Connector</description>
<security-permission-spec/>
</security-permission>
</resourceadapter>
</connector>
and the geronimo-ra.xml:
<?xml version="1.0" encoding="UTF-8"?>
<connector
xmlns="
http://geronimo.apache.org/xml/ns/j2ee/connector-1.2"
xmlns:app="
http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
xmlns:client="
http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0"
xmlns:dep="
http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:ejb="
http://openejb.apache.org/xml/ns/openejb-jar-2.2"
xmlns:name="
http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:pers="
http://java.sun.com/xml/ns/persistence"
xmlns:pkgen="
http://openejb.apache.org/xml/ns/pkgen-2.1"
xmlns:sec="
http://geronimo.apache.org/xml/ns/security-2.0"
xmlns:web="
http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"
>
<dep:environment>
<dep:moduleId>
<dep:groupId>sams.jca</dep:groupId>
<dep:artifactId>UBQ_JSR212_JCA_Queue</dep:artifactId>
<dep:version>1.0</dep:version>
<dep:type>car</dep:type>
</dep:moduleId>
<dep:dependencies/>
<dep:hidden-classes/>
<dep:non-overridable-classes/>
</dep:environment>
<resourceadapter>
<resourceadapter-instance>
<resourceadapter-name>SAMSQueueManager</resourceadapter-name>
<name:workmanager>
<name:gbean-link>DefaultWorkManager</name:gbean-link>
</name:workmanager>
</resourceadapter-instance>
</resourceadapter>
</connector>
I created a mdb that connects to this jca and I included it in ear. Here there is the geronimo-application.xml:
<?xml version="1.0" encoding="UTF-8"?>
<app:application
xmlns:app="
http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
xmlns:sys="
http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:sec="
http://geronimo.apache.org/xml/ns/security-2.0"
application-name="UBQ_JSR212_EAR_Frontend"
>
<sys:environment>
<sys:moduleId>
<sys:groupId>sams.ear</sys:groupId>
<sys:artifactId>UBQ_JSR212_EAR_Middleware</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>ear</sys:type>
</sys:moduleId>
</sys:environment>
</app:application>
the ejb-jar.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar id="ejb-jar_ID" version="2.1" 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">
<display-name>UBQ_JSR212_EJB_Frontend</display-name>
<enterprise-beans>
<message-driven>
<ejb-name>FrontendMDB</ejb-name>
<ejb-class>it.ubiquity.sams.jms.FrontendBean</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Container</transaction-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>queuePrefix</activation-config-property-name>
<activation-config-property-value>f</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>FrontendMDB</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
and the openejb-jar.xml:
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar
xmlns="
http://openejb.apache.org/xml/ns/openejb-jar-2.2"
xmlns:naming="
http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:security="
http://geronimo.apache.org/xml/ns/security-2.0"
xmlns:sys="
http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:pkgen="
http://openejb.apache.org/xml/ns/pkgen-2.1"
version="1.0"
>
<sys:environment>
<sys:moduleId>
<sys:groupId>sams.ejb</sys:groupId>
<sys:artifactId>UBQ_JSR212_EJB_Frontend</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>jar</sys:type>
</sys:moduleId>
<sys:dependencies>
<sys:dependency>
<sys:groupId>sams.jca</sys:groupId>
<sys:artifactId>UBQ_JSR212_JCA_Queue</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>car</sys:type>
</sys:dependency>
<sys:dependency>
<sys:groupId>console.jms</sys:groupId>
<sys:artifactId>sams</sys:artifactId>
<sys:version>1.0</sys:version>
</sys:dependency>
<sys:dependency>
<sys:groupId>console.dbpool</sys:groupId>
<sys:artifactId>jdbc_sams</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>rar</sys:type>
</sys:dependency>
</sys:dependencies>
</sys:environment>
<enterprise-beans>
<message-driven>
<ejb-name>FrontendMDB</ejb-name>
<naming:resource-adapter>
<naming:resource-link>SAMSQueueManager</naming:resource-link>
</naming:resource-adapter>
</message-driven>
</enterprise-beans>
</openejb-jar>
When I deploy the ear the app server (the jca is already deployed and running) give me a strange error:
Caused by: java.lang.IllegalStateException: Container does not exist: UBQ_JSR212_JCA_Queue. Referenced by deployment: UBQ_JSR212_EJB_Frontend.jar/FrontendMDB
at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:60)
... 28 more
where UBQ_JSR212_EJB_Frontend.jar is the name of the ejb jar in the ear.
Can someone help me?
Regards
Angelo