Just for completeness, here is a complete copy of my instructions in my MediaWiki page, which works.
== Introduction == In order to have Apache ActiveMQ as a valid JMS target, in BPEL, the following steps need to be done. These steps also apply to any J2EE container that wishes to use ActiveMQ. === Active MQ JMS Resource Archive === Take the Resource Adapter archive from an ActiveMQ installation <tt>lib\optional\activemq-rar-5.2.0.rar</tt> This is the activeMQ resource adapter archive - for client as well as embedded server. Personally, I don't think we need to include all this if we just want a client, only if we want an embedded server. Still, instructions are instructions... Create a directory on the Applications disk (as opposed to data) called <tt>activemq-rar-5.2.0\</tt> which contains the extracted content of the <tt>activemq-rar-5.2.0.rar</tt> archive (and contrary to file suffix, it is a jar archive, you don't need winrar to unpack it). === SOA Changes === ==== Server.xml ==== For the purposes of this page, mileage may vary for you. <tt>SOA_HOME=D:\oracle\product\10.1.3.1\OracleAS_2</tt> Placed the following XML segment ('''Make sure you have the ''correct'' pathname! e:\ may not be valid for you!''') {{File|${SOA_HOME}\j2ee\'''instanceName'''\config\server.xml|<pre> <shared-library name="apache.jmsprovider.mq" version="5.2.0"> <code-source path="e:\activemq-rar-5.2.0\activation-1.1.jar"/> <code-source path="e:\activemq-rar-5.2.0\activeio-core-3.1.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\activemq-core-5.2.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\activemq-ra-5.2.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\backport-util-concurrent-2.1.jar"/> <code-source path="e:\activemq-rar-5.2.0\camel-core-1.5.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\derby-10.1.3.1.jar"/> <code-source path="e:\activemq-rar-5.2.0\geronimo-j2ee-management_1.0_spec-1.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\jaxb-api-2.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\jaxb-impl-2.0.3.jar"/> <code-source path="e:\activemq-rar-5.2.0\jsr173_api-1.0.jar"/> <code-source path="e:\activemq-rar-5.2.0\log4j-1.2.14.jar"/> <code-source path="e:\activemq-rar-5.2.0\xbean-spring-3.4.jar"/> <import-shared-library name="apache.commons.logging"/> </shared-library> </pre>}} into <tt>${SOA_HOME}\j2ee\'''instanceName'''\config\server.xml</tt> where '''instanceName''' is the instance name in which BPEL is running, by default, '''oc4j_soa'''. ==== application.xml ==== I then edited <tt>${SOA_HOME}\j2ee\'''oc4j_soa'''\config\application.xml</tt> changing {{File|'''Before''' ${SOA_HOME}\j2ee\'''oc4j_soa'''\config\application.xml|<pre> <orion-application> ...[snip]... <imported-shared-libraries> <import-shared-library name="adf.oracle.domain"/> </imported-shared-libraries> </pre>}} to {{File|'''After''' ${SOA_HOME}\j2ee\'''oc4j_soa'''\config\application.xml|<pre> <orion-application> ...[snip]... <imported-shared-libraries> <import-shared-library name="adf.oracle.domain"/> <import-shared-library name="apache.jmsprovider.mq"/> </imported-shared-libraries> </pre>}} ==== oc4j-ra.xml ==== This file can be manually edited, but probably the best way is to use the OC4J Administration console (http://soabox/em) to configure the JMS connection Factories in the 'default' OC4J instance. This file is rewritten by OC4J so editing it whilst the instance is running is probably a waste of time. Refer to [http://activemq.apache.org/configuring-version-5-transports.html ActiveMQ Transports] for configuration options for the Factory settings, such as <tt>keepAlive=true</tt>. If it already exists, simply add the connector-factory element to the already existing list. The file <tt>${SOA_HOME}\j2ee\oc4j_soa\application-deployments\default\JmsAdapter/oc4j-ra.xml</tt>. I obtained the username/passwords from an activeMQ instance <tt>c:\apache-activemq-5.2.0conf\credentials.properties</tt> file, on the [[VM ActiveMQ]] It should be noted, that according to [http://activemq.apache.org/resource-adapter-properties.html the ActiveMQ Resource Adapter Documenation], the BrokerURL property is optional, but I have coded it to point to our running ActiveMQ broker, for the sake of a quiet life (which I never seem to have). ===== Primary oc4j-ra.xml ===== NOTE: The BrokerURL address must be changed to reflect the appropriate broker for the SOA Instance. {{File|'''Primary''' ${SOA_HOME}\j2ee\oc4j_soa\application-deployments\default\JmsAdapter/oc4j-ra.xml|<pre> <?xml version="1.0"?> <oc4j-connector-factories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/oc4j-connector-factories-10_0.xsd" schema-major-version="10" schema-minor-version="0" > <imported-shared-libraries> <import-shared-library name="oracle.bpel.common"/> <import-shared-library name="oracle.xml"/> <import-shared-library name="apache.jmsprovider.mq"/> </imported-shared-libraries> <connector-factory location="eis/activemq/Queue/Primary" connector-name="Jms Adapter"> <config-property name="connectionFactoryLocation" value="org.apache.activemq.ActiveMQConnectionFactory"/> <config-property name="factoryProperties" value="BrokerURL=tcp://???.???.???.???:61616?keepAlive=true"/> <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/> <config-property name="isTopic" value="false"/> <config-property name="isTransacted" value="true"/> <config-property name="username" value="system"/> <config-property name="password" value="manager"/> <connection-pooling use="none"> </connection-pooling> <security-config use="none"> </security-config> </connector-factory> <connector-factory location="eis/activemq/Topic/Primary/ATopic" connector-name="Jms Adapter"> <config-property name="connectionFactoryLocation" value="org.apache.activemq.ActiveMQConnectionFactory"/> <config-property name="factoryProperties" value="BrokerURL=tcp://???.???.???.???:61616?keepAlive=true"/> <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/> <config-property name="isTopic" value="true"/> <config-property name="isTransacted" value="true"/> <config-property name="username" value="system"/> <config-property name="password" value="manager"/> <connection-pooling use="none"> </connection-pooling> <security-config use="none"> </security-config> </connector-factory> </oc4j-connector-factories> </pre>}} ===== Secondary oc4j-ra.xml ===== '''Note the IP address is ???.???.???.??? as it varies depending on which instance''' {{File|'''Secondary''' ${SOA_HOME}\j2ee\oc4j_soa\application-deployments\default\JmsAdapter/oc4j-ra.xml|<pre> <?xml version="1.0"?> <oc4j-connector-factories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/oc4j-connector-factories-10_0.xsd" schema-major-version="10" schema-minor-version="0" > <imported-shared-libraries> <import-shared-library name="oracle.bpel.common"/> <import-shared-library name="oracle.xml"/> <import-shared-library name="apache.jmsprovider.mq"/> </imported-shared-libraries> <connector-factory location="eis/activemq/Queue/Secondary" connector-name="Jms Adapter"> <config-property name="connectionFactoryLocation" value="org.apache.activemq.ActiveMQConnectionFactory"/> <config-property name="factoryProperties" value="BrokerURL=tcp://???.???.???.???:61616?keepAlive=true"/> <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/> <config-property name="isTopic" value="false"/> <config-property name="isTransacted" value="true"/> <config-property name="username" value="system"/> <config-property name="password" value="manager"/> <connection-pooling use="none"> </connection-pooling> <security-config use="none"> </security-config> </connector-factory> <connector-factory location="eis/activemq/Topic/Secondary/ATopic" connector-name="Jms Adapter"> <config-property name="connectionFactoryLocation" value="org.apache.activemq.ActiveMQConnectionFactory"/> <config-property name="factoryProperties" value="BrokerURL=tcp://???.???.???.???:61616?keepAlive=true"/> <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/> <config-property name="isTopic" value="false"/> <config-property name="isTransacted" value="true"/> <config-property name="username" value="system"/> <config-property name="password" value="manager"/> <connection-pooling use="none"> </connection-pooling> <security-config use="none"> </security-config> </connector-factory> </oc4j-connector-factories> </pre>}} -- View this message in context: http://www.nabble.com/Oracle-BPEL-%3C-%3E-ActiveMQ---Howto--tp22449017p23662539.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.