Соединение JBoss 5.1 MDB с очередями Websphere MQ - PullRequest
2 голосов
/ 21 декабря 2011

Я пытаюсь обновить систему под управлением jboss3.x до jboss5.1.Система использует MDB для прослушивания очередей в WebSphere MQ, поэтому «управляемый сообщениями» подключается к Container / «invoker-proxy-binding» через «имя-конфигурации» - стандартный способ подключения к удаленной очереди - я думаю,.

Проблема с JBoss 5.1 заключается в том, что jboss_5_1.xsd не имеет configuration-name и invoker-proxy-binding.Я обнаружил, что во всех примерах подключения JBoss 5.1 MDB к удаленным очередям не используется jboss_5_1.xsd, но вместо этого используется jboss_5_0.dtd.

Что мне не хватает при использовании jboss_5_0.dtd, икак это должно быть настроено в 5.1?

1 Ответ

0 голосов
/ 07 февраля 2013

Хм, я знаю, что это немного старый вопрос, но в любом случае: он у меня работает на 5.1 с использованием конфигурации активации, определенной в ejb3-interceptors-aop.xml

<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>

Надеюсь, это поможет

...