使用Oracle Service Bus获取IBM websphere MQ消息

时间:2015-04-08 07:50:12

标签: oracle ibm-mq mq osb oracle-service-bus

我正在尝试使用 Oracle Service Bus IBM Websphere MQ 获取消息。 我启用了" XA " OSB中的连接工厂并检查了" 所需的交易"复选框。 但当我检查" 相同的交易响应"复选框,我得到" pipelineException"。

谁知道这个问题? 有没有描述整个过程的指南或文件?(我不确定我是否正确。)

1 个答案:

答案 0 :(得分:1)

OSB的构造方式使得请求管道和响应管道使用不同的线程。什么时候说不同的线程,执行请求管道的线程一到达请求管道的末尾就完成了。为weblogic执行响应管道分配了一个新线程。

现在进入"相同的交易回复"选项,这只是意味着请求和响应管道应使用相同的线程而不是新的线程。

"同一交易对于响应"当存在非常严格的错误监视时(主要在同步情况下),应该使用选项。例如,如果流程如下,

MQ客户端> OSB应用程序<> HTTP后端/同步JMS

然后,

  • (在"相同的事务响应"未启用)的情况下 - 如果 同步后端不发送响应,如果有响应 异常,异常不会传播到OSB响应
    管道,因为请求线程已经完成并且无关紧要 完成后的反应是什么。所以OSB好像什么都没有 发生在后端。

  • (在"相同事务响应"启用的情况下) - 如果后端抛出前一个场景中提到的任何错误,那么正在等待的请求线程捕获错误并且然后将异常抛出到它可以找到的即时错误处理程序。 (阶段错误处理程序,代理错误处理程序,系统错误处理程序 - 按相同顺序)。

现在出现了您突出显示的错误并启用了该选项,我想它应该是从您的后端发送的一些错误。请检查您从下游获得的响应是​​什么,并相应地进行更正。