Links may not function; however, this content may be relevant to outdated versions of the product.
How to configure a Messaging Bridge between WebSphere and a JBoss server
In this example scenario, you have deployed Process Commander Version 5.5 SP1 on WebSphere Application Server Version 7.0. You need to configure an MDB Listener to listen to a JMS Queue deployed on a remote JBoss 5.0 application server.
Task preview
Here’s a preview of the steps for configuring the Messaging Bridge between the JBoss server and the WebSphere Application Server.
On the JBoss remote server, configure the following:
- Connection Factory
- Destination Queue
On the WebSphere Application Server for Process Commander, modify the deployment descriptors for the MDB Listener, ejb-jar.xml and jobss-ejb-jar.xml. Redeploy the Process Commander application after you change the deployment descriptors. Then configure the following:
- JMS Provider
- Connection Factory
- Destination Queue
- Listener Port
- Message-Driven Bean
Suggested approach
To configure the Messaging Bridge between the JBoss server running the JMS Queue and the WebSphere Application Server running Process Commander, complete the following procedures.
On the JBoss remote server for the JMS Queue, follow these steps:
- In the
jboss-<version>/messaging
directory, open the fileconnection-factories-service.xml
for editing and specify the following connection factory information:
<server>
<!—
The default connection factory does not support automatic failover or load balancing- this is so we can maintain compatibility with applications written for JBoss MQ which use this connection factory.
-->
<mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
name="jboss.messaging.connectionfactory:service=ConnectionFactory"
xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="JNDIBindings">
<bindings>
<binding>/ConnectionFactory</binding>
<binding>/XAConnectionFactory</binding>
<binding>java:/ConnectionFactory</binding>
<binding>java:/XAConnectionFactory</binding>
</bindings>
</attribute>
</mbean>
- In the
jboss-<version>\
directory, create the filexxxx-destinations-service.xml
and specify the following destination queue information:
<server>
<!--My queue, named: myTestQueue -->
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=myTestQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
On the WebSphere Application Server for Process Commander, follow these steps:
- Verify the existence of the following Java archive files, which support the foreign JMS Provider set up to talk to the JBoss server:
|
|
- In the WebSphere Administrative Console, specify the JMS Provider.
- Specify the Connection Factory.
- Specify the Destination Queue.
- Specify the Listener Port.
- Deploy a message-driven bean (MDB). During the deployment, bind that MDB with the listener port that you created in the previous step.
- When deploying and packaging the Process Commander EAR, be careful not to overwrite the manifest.mf file in the directory path
<application_server_host>webapps\prweb\META-INF
.
If you inadvertently overwrite the file <application_server_host>webapps\prweb\META-INF\manifest.mf
when repackaging the Process Commander EAR, follow the recovery procedure in the related topic, Troubleshooting: "[Servlet Error]-[Failed to load listener: WebAppLifeCycleListenerBoot]” at startup (WebSphere 6.1).