将JBoss 5.1 MDB连接到Websphere MQ队列

时间:2011-12-21 07:57:01

标签: java-ee jboss5.x ibm-mq message-driven-bean

我正在尝试将运行jboss3.x的系统升级到jboss5.1。 系统使用MDB监听WebSphere MQ中的队列,因此'消息驱动'通过'configuration-name'连接到Container /'invoker-proxy-binding' - 连接到远程队列的标准方法 - 我猜

JBoss 5.1的问题是jboss_5_1.xsd没有configuration-nameinvoker-proxy-binding。到目前为止,我发现连接JBoss 5.1 MDB连接到远程队列的所有示例都没有使用jboss_5_1.xsd,而是使用jboss_5_0.dtd

使用jboss_5_0.dtd我会错过什么,以及如何在5.1中配置?

1 个答案:

答案 0 :(得分:0)

嗯,我知道这是一个有点老问题,但无论如何:我使用ejb3-interceptors-aop.xml中定义的激活配置在5.1上工作

<domain name="zzz.ejb.mdb.MessageReceiver" extends="Message Driven Bean" inheritBindings="true">
     <!-- annotation must be documented on one line without CR/LF -->
     <annotation expr="!class(@org.jboss.ejb3.annotation.DefaultActivationSpecs)">
                        @org.jboss.ejb3.annotation.DefaultActivationSpecs ({ @javax.ejb.ActivationConfigProperty(propertyName = "messagingType", propertyValue="javax.jms.MessageListener"), @javax.ejb.ActivationConfigProperty(propertyName = "destinationType",propertyValue = "javax.jms.Queue"), @javax.ejb.ActivationConfigProperty(propertyName = "destination", propertyValue = "zzz/jms/LocalQueue"), @javax.ejb.ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "true"), @javax.ejb.ActivationConfigProperty(propertyName = "queueManager", propertyValue = "ZZZ.QMGR"), @javax.ejb.ActivationConfigProperty(propertyName = "hostName", propertyValue = "172.21.100.10"), @javax.ejb.ActivationConfigProperty(propertyName = "port", propertyValue = "1415"), @javax.ejb.ActivationConfigProperty(propertyName = "transportType", propertyValue = "CLIENT"), @javax.ejb.ActivationConfigProperty(propertyName = "maxPoolDepth", propertyValue = "1")})
    </annotation>
</domain>

请注意,注释只有一行。

另外,我为队列定义了一个mbean(如下所示):

        <mbean code="org.jboss.resource.deployment.AdminObject" name="jboss.jca:service=WASDestination,name=zzz/jms/LocalQueue">
            <attribute name="JNDIName">zzz/jms/LocalQueue</attribute>
            <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='wmq.jmsra.rar'</depends>
            <attribute name="Type">javax.jms.Queue</attribute>
            <attribute name="Properties">
                    baseQueueManagerName=ZZZ.QMGR
                    baseQueueName=ZZZ.QUEUE
            </attribute>
    </mbean>

我希望这会有所帮助