...
The geronimo-ra.xml contains Apache Geronimo specific properties for resource adapter. The following example shows an excerpt from the geronimo-ra.xml.
Code Block | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
<outbound-resourceadapter> ... <connection-definition> <connectiondefinition-instance> <name>JMSQueueFactory</name> <config-property-setting name="url"></config-property-setting> <config-property-setting name="icf"></config-property-setting> <config-property-setting name="name"></config-property-setting> <connectionmanager> ... </connection-definition> <adminobject> ... <adminobject-instance> <message-destination-name>ivtQ</message-destination-name> <config-property-setting name="PhysicalName">queue1</config-property-setting> </adminobject-instance> </adminobject> <adminobject> <adminobject-instance> <message-destination-name>ivtT</message-destination-name> <config-property-setting name="PhysicalName">topic1</config-property-setting> </adminobject-instance> </adminobject> ... |
...
OpenJMS starts RMI naming server on port 1019. This will conflict with the default RMI naming port in Geronimo. You will have to change the configuration for OpenJMS to use a different port and then start the OpenJMS server. Create QueueConnectionFactory and TopicConnectionFactory objects for OpenJMS. Define Queue's and Topics in openjms.xml
. The following example shows relevant sections of the configuration file.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Connector scheme="rmi"> <ConnectionFactories> <QueueConnectionFactory name="JmsQueueConnectionFactory" /> <TopicConnectionFactory name="JmsTopicConnectionFactory" /> <QueueConnectionFactory name="openJMSQCF" /> <QueueConnectionFactory name="openJMSTCF" /> </ConnectionFactories> </Connector> ... <RmiConfiguration embeddedRegistry="true" registryHost="localhost" registryPort="1030"/> ... <AdministeredDestinations> <AdministeredTopic name="topic1"> <Subscriber name="sub1" /> <Subscriber name="sub2" /> </AdministeredTopic> <AdministeredQueue name="queue1" /> <AdministeredQueue name="queue2" /> <AdministeredQueue name="queue3" /> </AdministeredDestinations> |
...
The following example shows sections of Geronimo application plan for using OpenJMS. The properties for Outbound and Inbound communication are specified in the Message Bean and the Connector.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application" configId="jms.ear" parented="jms.rar"> <module> <web>GERJMSWAR.war</web> ... </web-app> </module> <module> <ejb>GERJMSEJB.jar</ejb> ... <message-driven> <ejb-name>JMSMDB</ejb-name> <resource-adapter> <resource-link>JMSRA_1</resource-link> </resource-adapter> <activation-config> <activation-config-property> <activation-config-property-name>url</activation-config-property-name> <activation-config-property-value> tcp://localhost:3035 </activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name>icf</activation-config-property-name> <activation-config-property-value> org.exolab.jms.jndi.InitialContextFactory </activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name>name</activation-config-property-name> <activation-config-property-value> openJMSQCF </activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name> destination </activation-config-property-name> <activation-config-property-value> queue1 </activation-config-property-value> </activation-config-property> </activation-config> </message-driven> </enterprise-beans> </openejb-jar> </module> <ext-module> <connector>JMSRA_1</connector> <external-path>jms/externaljms/1.0/rar </external-path> <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector" configId="jms.rar.1" ``parentId="jms.ear"> <resourceadapter> ... <outbound-resourceadapter> <connection-definition> <connectionfactory-interface> org.apache.geronimo.jms.connector.JMSQueueConnectionFactory </connectionfactory-interface> <connectiondefinition-instance> <name>JMSQueueFactory</name> <config-property-setting name="url"> tcp://localhost:3035 </config-property-setting> <config-property-setting name="icf"> org.exolab.jms.jndi.InitialContextFactory </config-property-setting> <config-property-setting name="name"> openJMSTCF </config-property-setting> <connectionmanager> <no-transaction /> <no-pool /> </connectionmanager> </connectiondefinition-instance> </connection-definition> <connection-definition> ... </connection-definition> </outbound-resourceadapter> </resourceadapter> <adminobject> <adminobject-interface>javax.jms.Queue</adminobject-interface> <adminobject-class> org.apache.geronimo.jms.connector.JMSQueueImpl </adminobject-class> <adminobject-instance> <message-destination-name>ivtQ</message-destination-name> <config-property-setting name="PhysicalName"> queue1 </config-property-setting> </adminobject-instance> </adminobject> <adminobject> ... </adminobject> </connector> <ext-module> </application> |
...