Как переопределить MessageCorrelationIDSelector для узла JMSReceive через узел вычисления Java - PullRequest
0 голосов
/ 28 марта 2019

Мне нужно прочитать сообщение из очереди JMS и отфильтровать сообщения на основе JMSCorrelationID в середине потока.Поэтому я использовал JMSReceiveNode.JMSCorrelationID является динамическим.Поэтому я пытаюсь перегрузить MessageCorrelationIDSelector через вычислительный узел Java, как показано ниже.Я добавил дерево корреляции в локальную среду.

Мой код узла java Compute:

localEnv.getRootElement().createElementAsLastChild(MbElement.TYPE_NAME, "JMS", null). createElementAsLastChild(MbElement.TYPE_NAME, "Receive", null). createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "MessageCorrelationIDSelector", dynamicID);'

Но получаю исключение JMS destinaiton not found.Если я удаляю локальный MessageCorrelationIDSelector из локальной среды, он работает нормально.

Дерево локальной среды, как показано ниже

'LocalEnvironment
 JMS
         Receive                    MessageCorrelationIDSelector:CHARACTER:123457

1 Ответ

0 голосов
/ 05 апреля 2019
LocalEnvironment
JMS
        Receive
                MessageCorrelationIDSelector:CHARACTER:='1111'
                Source:CHARACTER:createArrangementQueue
                QCF:CHARACTER:jms/RemoteConnectionFactory
                JNDIBindingLocation:CHARACTER:http-remoting://localhost:9089
                InitialContextFactory:CHARACTER:org.jboss.naming.remote.client.InitialContextFactory
                JMSProvider:CHARACTER:jboss71JMS

Как @ Jérém отметил, что работает нормально.Нам нужно переопределить все свойства, как указано выше.

...