Получение сообщения IBM websphere MQ с помощью Oracle Service Bus

Я пытаюсь получить сообщения от IBM Websphere MQ с помощью Oracle Service Bus. Я включил фабрику соединений «XA» в OSB и установил флажок «требуется транзакция». Но когда я установил флажок «Та же транзакция для ответа», я получаю «pipelineException».

кто-нибудь знает об этой проблеме ?? есть ли какие-либо рекомендации или документы, которые описывают весь процесс? (не уверен, что я на правильном пути.)


person Biswajit    schedule 08.04.2015    source источник
comment
Что такое полная трассировка стека? Кроме того, как вы настроили прокси-сервис? Поделитесь пожалуйста конфигурацией.   -  person systemhalted    schedule 15.04.2015


Ответы (1)


OSB сконструирован таким образом, что конвейер запросов и конвейер ответов используют разные потоки. Когда речь идет о разных потоках, поток, выполняющий конвейер запросов, завершается, как только он достигает конца конвейера запросов. Weblogic выделяет новый поток для выполнения конвейера ответов.

Теперь переходя к опции «Та же транзакция для ответа», это просто означает, что запрос и конвейер ответа должны использовать один и тот же поток, а не новые потоки.

Параметр «Та же транзакция для ответа» предполагается использовать при очень строгом отслеживании ошибок (в основном в синхронных случаях). например, если поток такой, как показано ниже,

Клиент MQ> Приложение OSB ‹> Бэкэнд HTTP / Синхронный JMS

тогда,

  • (в сценарии с отключенной функцией «Та же транзакция для ответа») - если синхронный бэкэнд не отправляет ответ и есть исключение
    , исключение не распространяется на конвейер ответа OSB, поскольку поток запроса завершен, и не имеет значения, каким был ответ после завершения. поэтому OSB работает так, как будто с серверной частью ничего не произошло.

  • (в сценарии с включенной функцией «Та же транзакция для ответа») - если серверная часть выдает какие-либо ошибки, как указано в предыдущем сценарии, то ожидающий поток запроса фиксирует ошибки, а затем исключение передается в обработчик немедленных ошибок, который это можно найти. (Обработчик ошибок этапа, обработчик ошибок прокси, обработчик системных ошибок - в том же порядке).

Теперь переходим к ошибке, которую вы выделили, и с включенной опцией, я думаю, это должна быть какая-то ошибка, которая была отправлена ​​с вашего бэкэнда. пожалуйста, проверьте, какой ответ вы получили от нижестоящего, и исправьте его соответствующим образом.

person Balaji Shanmuga Sundaram    schedule 30.06.2015