2015-09-02 3 views
1

Я пытаюсь извлечь сообщения из AQ в тему в ActiveMq. Я выполнил следующие инструкции: http://activemq.apache.org/jms-bridge-with-oracle-aq.html. Но когда я начал ActiveMQ я получил эту ошибку:Ошибка моста ActiveMq и Oracle AQ

2015-09-02 12:33:18,269 | WARN | Setup of JMS message listener invoker failed for destination 'event_queue' - trying to recover. Cause: JMS-137: Payload factory must be specified for destinations with ADT payloads | org.apache.camel.component.jms.DefaultJmsMessageListenerContainer | Camel (camel) thread #1 - JmsConsumer[event_queue] 

Что является причиной этой ошибки и как ее можно решить?

ответ

1

Да, я нашел решение. Таким образом, на первом AQ поддерживает сообщения следующих типов:

  • • RAW Очереди • Oracle Object (ADT) Тип Очереди • Java Service Message (JMS) Тип Очереди/Темы

Причиной этой ошибки (JMS 137) является полезная нагрузка ADT недействительна для использования с ActiveMq. И если вы планируете создать мост между ActiveMq и Oracle AQ, вы должны использовать JMS-типы. Другое дело, что я не смог найти требуемый файл aqjms.jar, я заменил его на aqapi.jar из jlib-каталога моего Oracle Client. Также атрибуты тегов бобы должны быть:

<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> 
Смежные вопросы