OSB сконструирован таким образом, что конвейер запросов и конвейер ответов используют разные потоки. Когда речь идет о разных потоках, поток, выполняющий конвейер запросов, завершается, как только он достигает конца конвейера запросов. Weblogic выделяет новый поток для выполнения конвейера ответов.
Теперь переходя к опции «Та же транзакция для ответа», это просто означает, что запрос и конвейер ответа должны использовать один и тот же поток, а не новые потоки.
Параметр «Та же транзакция для ответа» предполагается использовать при очень строгом отслеживании ошибок (в основном в синхронных случаях). например, если поток такой, как показано ниже,
Клиент MQ> Приложение OSB ‹> Бэкэнд HTTP / Синхронный JMS
тогда,
(в сценарии с отключенной функцией «Та же транзакция для ответа») - если синхронный бэкэнд не отправляет ответ и есть исключение
, исключение не распространяется на конвейер ответа OSB, поскольку поток запроса завершен, и не имеет значения, каким был ответ после завершения. поэтому OSB работает так, как будто с серверной частью ничего не произошло.
(в сценарии с включенной функцией «Та же транзакция для ответа») - если серверная часть выдает какие-либо ошибки, как указано в предыдущем сценарии, то ожидающий поток запроса фиксирует ошибки, а затем исключение передается в обработчик немедленных ошибок, который это можно найти. (Обработчик ошибок этапа, обработчик ошибок прокси, обработчик системных ошибок - в том же порядке).
Теперь переходим к ошибке, которую вы выделили, и с включенной опцией, я думаю, это должна быть какая-то ошибка, которая была отправлена с вашего бэкэнда. пожалуйста, проверьте, какой ответ вы получили от нижестоящего, и исправьте его соответствующим образом.
person
Balaji Shanmuga Sundaram
schedule
30.06.2015