Contact Us 1-800-596-4880

JBoss JMS Integration

You configure a JBoss JMS connector for Mule as follows:

<?xml version="1.0" encoding="UTF-8"?><mule xmlns="http://www.mulesoft.org/schema/mule/core"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:jbossts="http://www.mulesoft.org/schema/mule/jbossts"    xmlns:jms="http://www.mulesoft.org/schema/mule/jms"    xmlns:stdio="http://www.mulesoft.org/schema/mule/stdio"    xmlns:spring="http://www.springframework.org/schema/beans"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="          http://www.mulesoft.org/schema/mule/jbossts http://www.mulesoft.org/schema/mule/jbossts/3.0/mule-jbossts.xsd          http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/3.0/mule-jms.xsd          http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd          http://www.mulesoft.org/schema/mule/stdio http://www.mulesoft.org/schema/mule/stdio/3.0/mule-stdio.xsd          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">    <jbossts:transaction-manager/>    <configuration>        <default-dispatcher-threading-profile maxThreadsActive="50" maxThreadsIdle="25"            threadTTL="60000"/>        <default-receiver-threading-profile maxThreadsActive="50" maxThreadsIdle="25"            threadTTL="60000"/>        <default-service-threading-profile maxThreadsActive="50" maxThreadsIdle="25"            threadTTL="60000"/>    </configuration>    <jms:connector name="jms-connector" jndiInitialFactory="org.jnp.interfaces.NamingContextFactory"        jndiProviderUrl="jnp://127.0.0.1:1099"        connectionFactoryJndiName="java:/QueueConnectionFactory" jndiDestinations="true"        forceJndiDestinations="true" createMultipleTransactedReceivers="true"        numberOfConcurrentTransactedReceivers="10" disableTemporaryReplyToDestinations="true">        <!--retry:forever-policy frequency="2000"/-->    </jms:connector>    <stdio:connector name="stdioConnector" promptMessage="Please enter message: "  outputMessage="Received message: " messageDelayTime="3000"/>    <jms:object-to-jmsmessage-transformer name="ObjectToJMSMessageTransformer"/>    <jms:jmsmessage-to-object-transformer name="JMSMessageToObjectTransformer"/>    <model>        <service name="stdioToQueue">            <inbound>                <stdio:inbound-endpoint system="IN" exchange-pattern="request-response"/>            </inbound>            <outbound>                <pass-through-router>                    <jms:outbound-endpoint queue="queue/testQueue" exchange-pattern="request-response"/>                </pass-through-router>            </outbound>        </service>        <service name="queueToStdio">            <inbound>                <jms:inbound-endpoint queue="queue/testQueue" exchange-pattern="request-response"/>            </inbound>            <outbound>                <pass-through-router>                    <stdio:outbound-endpoint system="OUT" exchange-pattern="request-response"/>                </pass-through-router>            </outbound>        </service>    </model></mule>

The JNDI provider and JBoss properties are specified in Spring.

If you use user credentials to connect to JBoss MQ, make sure that the user has the 'guest' role assigned to it. This will ensure that there are no issues if temporary topics or queues are used.