activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lyall <>
Subject Re: Oracle BPEL <-> ActiveMQ - Howto?
Date Wed, 18 Mar 2009 03:37:58 GMT

Got it working.

Procedure, as follows :-

In order to have Apache ActiveMQ as a valid JMS target, the following steps
need to be done. 

I have taken the Resource Adapter archive from an ActiveMQ installation

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, it worked,
time to fine tune later.

I Created a directory on the Oracle_SOA VM called e:\activemq-rar-5.2.0\
which contains the extracted content of the activemq-rar-5.2.0.rar archive
(and contrary to file suffix, it is a jar archive, you don't need winrar to
unpack it). 

Placed the following XML segment 

<shared-library name="" 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\broker-config.xml"/>
   <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-"/>
   <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"/>

into e:\SOASuite10131\j2ee\home\config\server.xml 

(there where about 7 server.xml files on the machine, this appeared to be
the appropriate one) 

I then edited E:\SOASuite10131\j2ee\home\config\application.xml 


     <import-shared-library name=""/>


     <import-shared-library name=""/>
     <import-shared-library name=""/>

I then added 

<connector-factory location="eis/activemq/Queue" connector-name="Jms
 <config-property name="connectionFactoryLocation"  
 <config-property name="factoryProperties"
 <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">
 <security-config use="none">

as the last entry in
I obtained the username/passwords from an activeMQ instance
c:\apache-activemq-5.2.0conf\ file. Once again, not
sure if needed.

It should be noted, that according to 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). 

Once the above steps had been done, it is possible to create a JMS Partner
link in JDeveloper, entirely using the GUI tools

Procedure as follows :-

Create a Synchronous BPEL application using the JDeveloper
Create a partner link for ActiveMQ of type JMS Adapter

Wizard settings as follows :-
Page 1
* Third Party
Page 2
* Factory Properties - Set the following properties - ALL of these are
optional, really, so long as you set ONE of them or you won't be able to
proceed to the next page. Maybe username/password you will be ok (the
defaults are set in the Application Server, as per the instructions above -
still, I figure it's best to specify everything, thus, making the defaults
NOTE: A bug in the Adapter configuration wizard will not parse the
factoryProperties=BrokerURL=tcp:// part correctly, on
subsequent passes through the wizard. You will need to re-enter that
* connectionFactoryLocation=org.apache.activemq.ActiveMQConnectionFactory
* factoryProperties=BrokerURL=tcp://<>:61616
* isTopic=false
* isTransacted=true
* username=system   	(found in of ActiveMQ
installation - optional)
* password=manager	(found in of ActiveMQ installation
- optional)
* acknowledgeMode=AUTO_ACKNOWLEDGE
* JMS Connection Factory = ConnectionFactory
* Transacted = true
* Desintation Type = Queue
* User Name = blank
* Password = blank
* JMS Connection JNDI Name = eis/activemq/Queue (corresponds to install
instructions, above)

Page 3
* Operation Type = Produce Message
* Operation Name = Produce_Message

Page 4
* Destination Name = target ActiveMQ Queue - say Testing.Queue
* Message Body Type = TextMessage
* Delivery Mode = Persistent
* Priority = Default
* TimeToLive = 0

Page 5
* Choose a WSDL that reflects the message type expected - in my test case, I
simply chose the incoming message WSDL

Setup the Invoke step
* Populate the Input and Output variables appropriately, using an assign



Check the queue in http://<>:8161/admin/queues.jsp to see if
your message has arrived.

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message