Adding ActiveMQ support for ATG on JBoss platform

Step 1:

It would be a great idea to add Active MQ queues as datasource to JBoss

a) Add the activemq-ra.rar to the jboss deploy folder.

b) Add the file activemq-jms-ds.xml with the below example queues

===========================================================================================

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE connection-factories

PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"

"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">

<connection-factories>

<tx-connection-factory>

<jndi-name>activemq/QueueConnectionFactory</jndi-name>

<xa-transaction/>

<track-connection-by-tx/>

<rar-name>activemq-ra.rar</rar-name>

<connection-definition>javax.jms.QueueConnectionFactory</connection-definition>

<security-domain-and-application>JmsXARealm</security-domain-and-application>

<ServerUrl>tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=1</ServerUrl>

</tx-connection-factory>

<tx-connection-factory>

<jndi-name>activemq/TopicConnectionFactory</jndi-name>

<xa-transaction/>

<track-connection-by-tx/>

<rar-name>activemq-ra.rar</rar-name>

<connection-definition>javax.jms.TopicConnectionFactory</connection-definition>

<security-domain-and-application>JmsXARealm</security-domain-and-application>

<ServerUrl>tcp://localhost:61616</ServerUrl>

</tx-connection-factory>

<!-- Request and Response Queue Examples -->

<mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.queue:name=some_queue_name">

<attribute name="JNDIName">activemq/queue/some_queue</attribute>

<depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends>

<attribute name="Type">javax.jms.Queue</attribute>

<attribute name="Properties">

PhysicalName=queue.some_queue

</attribute>

</mbean>

<mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.queue:name=some_response_queue">

<attribute name="JNDIName">activemq/queue/some_response_queue</attribute>

<depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends>

<attribute name="Type">javax.jms.Queue</attribute>

<attribute name="Properties">

PhysicalName=queue.some_response_queue

</attribute>

</mbean>

<!-- Topic Example -->

<mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.topic:name=some_topic">

<attribute name="JNDIName">activemq/topic/some_topic</attribute>

<depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends>

<attribute name="Type">javax.jms.Topic</attribute>

<attribute name="Properties">

PhysicalName=topic.some_topic

</attribute>

</mbean>

</connection-factories>

=================================================================================================================

Step 2:

Add JNDI reference components for these Queues and Factories in ATG (below is example)

/some/package/TopicConnectionFactory

$class=atg.nucleus.JNDIReference

JNDIName=java:/activemq/TopicConnectionFactory

--------------------------------------------------

You are good to go....