You can deploy jms resources with deploy command (without web console). When you want to create a group of resources consist of ConnectionFactory, topics and queues you only have to deploy a geronimo-activemq-ra connector (RA meaning "ResourceAdapter") with an deploy plan like this...

<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
  <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
    <dep:moduleId>
    	<dep:groupId>console.jms</dep:groupId>
    	<dep:artifactId>jmsResources</dep:artifactId>
    	<dep:version>1.0</dep:version>
    <dep:type>rar</dep:type>
  	</dep:moduleId>
    <dep:dependencies>
      <dep:dependency>
        <dep:groupId>org.apache.geronimo.configs</dep:groupId>
        <dep:artifactId>activemq-broker</dep:artifactId>
        <dep:type>car</dep:type>
      </dep:dependency>
    </dep:dependencies>
  </dep:environment>
  <resourceadapter>
    <resourceadapter-instance>
      <resourceadapter-name>jmsResources</resourceadapter-name>
      <workmanager xmlns="http://geronimo.apache.org/xml/ns/naming-1.2">
        <gbean-link>DefaultWorkManager</gbean-link>
      </workmanager>
    </resourceadapter-instance>
    <outbound-resourceadapter>
      <connection-definition>
        <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
        <connectiondefinition-instance>
          <name>IHCIConnectionFactory</name>
          <implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
          <implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
          <connectionmanager>
            <xa-transaction>
              <transaction-caching />
            </xa-transaction>
            <single-pool>
              <max-size>10</max-size>
              <min-size>0</min-size>
              <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
              <idle-timeout-minutes>0</idle-timeout-minutes>
              <match-one />
            </single-pool>
          </connectionmanager>
        </connectiondefinition-instance>
      </connection-definition>
    </outbound-resourceadapter>
  </resourceadapter>

  <!-- ElementSupportData topic-->
  <adminobject>
    <adminobject-interface>javax.jms.Topic</adminobject-interface>
    <adminobject-class>org.apache.activemq.command.ActiveMQTopic</adminobject-class>
    <adminobject-instance>
      <message-destination-name>ElementSupportData</message-destination-name>
      <config-property-setting name="PhysicalName">ElementSupportData</config-property-setting>
    </adminobject-instance>
  </adminobject>
   
  <!-- Sample Queue --> 
 
    <adminobject>
    <adminobject-interface>javax.jms.Queue</adminobject-interface>
    <adminobject-class>org.apache.activemq.command.ActiveMQQueue</adminobject-class>
    <adminobject-instance>
      <message-destination-name>SampleQueue</message-destination-name>
      <config-property-setting name="PhysicalName">SampleQueue</config-property-setting>
    </adminobject-instance>
  </adminobject>
  
</connector> 

Now you only have to deploy it with this command (I named deploy plan as JmsResources.xml) ussing for this example geronimo 2.0.2:

java -jar %GERONIMO_HOME%/bin/deployer.jar --user system --password manager --host localhost deploy JmsResources.xml %GERONIMO_HOME%/repository/org/apache/geronimo/modules/geronimo-activemq-ra/2.0.2/geronimo-activemq-ra-2.0.2.rar

Remember that geronimo-activemq-ra-2.0.2.rar path or name can change according to the geronimo 2.x installation that you have. If deploy works well, in Geronimo Web Console-> JMS Resources will appear a new JMS Resource group named jmsResources (console.jms/jmsResources/1.0/rar). console.jms/jmsResources/1.0/rar is the component name created ussing data defined in moduleId tag.

If you want to undeploy it, you can do it from Geronimo Web Console -> J2EE connectors or with deploy command as this manner...

java -jar %GERONIMO_HOME%/bin/deployer.jar --user system --password manager --host localhost undeploy console.jms/jmsResources/1.0/rar

Remember set RemoteDeployHostname into %GERONIMO_HOME%\var\config\config-substitutions.properties if you want to do remote deploy (when --host parameter is not the localhost).

  • No labels