Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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
xml
xml
borderStylesolid
titleExcerpt from the geronimo-ra.xmlxml
<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
xml
xml
bordeStylesolidxml
...
<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
xml
xml
borderStylesolidxml
<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>

...