Вам нужно будет развернуть IBM MQ JCA в JBoss. Это можно сделать через веб-интерфейс или CLI. Это приведет к записи в вашем автономном файле конфигурация аналогична:
<deployments>
<deployment name="wmq.jmsra-7.5.0.5.rar" runtime-name="wmq.jmsra-7.5.0.5.rar">
<content sha1="b6f5a197dcda61c38215ffc24666d2d028341323"/>
</deployment>
Затем вам нужно будет создать раздел конфигурации адаптера соответствующего ресурса:
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
<resource-adapters>
<resource-adapter id="wmq.jmsra-7.5.0.5.rar">
<archive>
wmq.jmsra-7.5.0.5.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<config-property name="maxConnections">
100
</config-property>
<config-property name="reconnectionRetryCount">
1000
</config-property>
<config-property name="reconnectionRetryInterval">
30000
</config-property>
</resource-adapter>
</resource-adapters>
</subsystem>
Обратите внимание, что имя wmq.jmsra-7.5.0.5.rar
используется последовательно.
В вашем MDB, вы бы тогда:
@MessageDriven(name = "WebSphereMQ", activationConfig = {
@ActivationConfigProperty(propertyName = "maxPoolDepth", propertyValue="100"),
@ActivationConfigProperty(propertyName = "maxMessages", propertyValue="1"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "hostName", propertyValue = "10.0.0.150"),
@ActivationConfigProperty(propertyName = "port", propertyValue = "1414"),
@ActivationConfigProperty(propertyName = "channel", propertyValue = "SYSTEM.DEF.SVRCONN"),
@ActivationConfigProperty(propertyName = "queueManager", propertyValue = "QUEUE.MANAGER"),
@ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "false"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "${the.queue.name}"),
@ActivationConfigProperty(propertyName = "transportType", propertyValue = "CLIENT") })
@ResourceAdapter(value="wmq.jmsra-7.5.0.5.rar")
public class WebSphereMQ implements MessageListener {
...
...
...
}
Обратите внимание на @ResourceAdapter
и ${the.queue.name}
.
Замещение свойства для аннотации должна быть включено в автономном файле конфигурации:
<subsystem xmlns="urn:jboss:domain:ee:1.2">
<spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
<annotation-property-replacement>true</annotation-property-replacement>
</subsystem>