Полагаю, я немного озадачен вашим вопросом.Если вы хотите отправить сообщение через IBM MQ, у вас сначала должна быть такая конфигурация:
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
<resource-adapters>
<resource-adapter id="wmq.jmsra.rar" statistics-enabled="true">
<archive>
wmq.jmsra.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:jboss/jms/MQConnectionFactory" enabled="true" pool-name="MQConnectionFactory">
<config-property name="transportType">
CLIENT
</config-property>
<config-property name="password">
redhat
</config-property>
<config-property name="queueManager">
${wmq.queue.manager}
</config-property>
<config-property name="userName">
redhat
</config-property>
<config-property name="connectionNameList">
${wmq.connectionlist}
</config-property>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/mqQueue" enabled="true" pool-name="mqQueue">
<config-property name="baseQueueName">
REDHAT.QUEUE
</config-property>
<config-property name="baseQueueManagerName">
REDHAT.QUEUE.MANAGER
</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
Затем вам нужно будет выполнить поиск JNDI на фабрике соединений и в месте назначения, а затем отправить сообщение.В качестве альтернативы вы могли бы сделать внедрение ресурсов и позволить контейнеру JBoss заполнить вашу фабрику соединений и пункт назначения.
Что-то вроде:
@Resource(mappedName = "java:jboss/jms/MQConnectionFactory")
private ConnectionFactory connectionFactory;
Вы можете использовать фабрику соединений и пункт назначения из JNDI для заполненияШаблон JMS, если хотите.