The UnionVMS system communicates with Flux through JMS queues and webservice calls. This chapter will handle JMS queues, more specifically the queue bridging need.
To send a request to FLUX, a message has to be put in the bridge queue. To consume a request, a message has to be
in the configured DF queue.
There are two settings that UnionVMS can be set up:
1. UnionVMS and Flux sharing the same JMS broker (figure 1)
(Figure 1)
In this case your outgoing and incoming message queues are on the same JMS broker, hence no configuration is needed.
2. UnionVMS and Flux having each a different JMS broker (Figure 2)
(Figure 2)
If the UnionVMS JMS broker and Flux JMS broker are two different entities, a bridge has to be set up to move messages from one broker to another. Hence a bridge is needed for every queue.
Here is the setup description for JMS bridges operating under Wildfly 8.2.0. If you are using a different application container than Wildfly, try to adapt to the theoretical foundations of this example.
- Add the JMS Implementaiton libraries under your Wildfly classpath : under directory [wildfly installation]\modules\system\layers\base\custom, add a directory bridge. Inside bridge add directory main. Inside main, add module.xml document bearing information on the jar you intend to include. In our case, we are having a bridge between ActiveMQ and Weblogic JMS brokers. Hence we will add the following jars : activemq-all-5.11.1.jar (you can find it under ActiveMQ 5.11.1 directory), and wlthint3client.jar (you can find it under [Oracle installation]\Middleware\Oracle_Home\wlserver\server\lib).
module.xml :
<module xmlns="urn:jboss:module:2.0" name="custom.bridge">
<resources>
<resource-root path="wlthint3client.jar">
<filter>
<exclude-set>
<path name="javax.ejb"/>
<path name="javax.ejb.spi"/>
<path name="javax.transaction"/>
<path name="javax.jms"/>
<path name="javax.xml"/>
<path name="javax.xml.stream"/>
</exclude-set>
</filter>
</resource-root>
<resource-root path="activemq-all-5.11.1.jar"/>
</resources>
<dependencies> <module name="javax.api"/> <module name="sun.jdk" export="false" services="import"> <exports> <include-set> <path name="sun/security/acl"/> <path name="META-INF/services"/> </include-set> </exports> </module> <module name="com.sun.xml.bind" /> <module name="org.omg.api"/> <module name="javax.ejb.api" export="false" /> <module name="javax.transaction.api" export="false" /> <module name="javax.jms.api" export="false" /> <module name="javax.xml.stream.api" export="false" /> <module name="org.picketbox" optional="true"/> <module name="javax.servlet.api" optional="true"/> <module name="org.jboss.logging" optional="true"/> <module name="org.jboss.as.web" optional="true"/> <module name="org.jboss.as.ejb3" optional="true"/>
<module name="org.hornetq" /> </dependencies></module>