подключение Mule ESB к брокеру OpenMQ

Я пытаюсь подключить Mule ESB к существующему брокеру OpenMQ. Основываясь на документации mulesoft для интеграции с openmq, у меня есть следующие поток;

<jms:custom-connector name="Custom_JMS" specification="1.1" 
                      class="com.sun.messaging.ConnectionFactory" 
                      validateConnections="true" doc:name="Custom JMS"/>

<flow name="EchoFlow" doc:name="EchoFlow">

    <jms:inbound-endpoint doc:name="JMS"
                          connector-ref="Custom_JMS" responseTimeout="1000" 
                          topic="mytopic"/>

    <echo-component doc:name="Echo"/>
    <logger message="#[message:payload]" doc:name="Logger"/>
</flow>

Однако во время выполнения я получаю сообщение об ошибке;

[02-26 10:54:08] ERROR DefaultMuleApplication [main]: null
org.springframework.beans.NotWritablePropertyException: Invalid property 'acknowledgementMode' of bean class [com.sun.messaging.ConnectionFactory]: Bean property 'acknowledgementMode' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

У меня такое чувство, что несколько элементов были упущены из примера. Может кто-нибудь сказать мне, чего не хватает?


person CAB    schedule 26.02.2013    source источник


Ответы (1)


AFAIK custom-connector нуждается в классе, который расширяет org.mule.transport.jms.JmsConnector. Попробуйте вместо этого:

<spring:bean name="connectionFactory" class="com.sun.messaging.ConnectionFactory"/>

<jms:connector name="JMSConnector"
    connectionFactory-ref="connectionFactory"
    specification="1.1"/>
person Víctor Romero    schedule 26.02.2013
comment
Теперь я вижу, как неправильно понял страницу Mulesoft - на ней не отображается ‹flow›. Вышеупомянутое сработало, но не удалось, потому что брокер openMQ не находится на localhost: 7676 (по умолчанию omq). Я попытался указать правильный адрес в свойстве bean-компонента; ‹Spring: property name = imqAddressList value = mqtcp: //192.168.56.4: 30001 / jms /›, но это привело к тому, что свойство bean-компонента imqAddressList недоступно для записи или имеет недопустимый метод установки ... Я собираюсь прочитать документы Spring и экспериментируйте, но, может быть, вы сразу знаете ответ? - person CAB; 27.02.2013
comment
Нашел свой ответ в ответе на другой вопрос omq ‹a href=stackoverflow.com/questions/6171457/accessing-openmq-remotely/›. - person CAB; 27.02.2013