【发布时间】:2017-04-12 01:12:15
【问题描述】:
在 Weblogic OSB 中,我们有一个代理服务,它只是应该使用来自远程 Weblogic JMS 队列的消息,并通过业务服务将它们路由到另一个远程 Weblogic JMS 队列。出于某种原因,代理服务会使用消息,但它们永远不会被路由到业务服务。
当前行为:
启用后,OSB 代理服务会删除放置在远程端点 URI 队列中的所有消息,但消息似乎不会在代理服务的消息流本身中流动。启用代理服务后,远程队列中的消息将被删除,但仍处于“待处理”状态。当代理服务被禁用时,消息会被放回队列中。
在代理服务的消息流中无法处理消息的可能原因有哪些?消息流所做的只是将消息路由到业务服务,然后将消息发送到另一个远程端点 URI 队列。
PS:当消息通过测试控制台注入代理服务时,消息流/路由到业务服务没有问题,所以我认为问题一定出在某个地方的初始远程队列/代理服务接口?也许权限或交易相关的问题?但我在配置或服务器日志中看不到任何错误提示...
在此先感谢您提供任何帮助。
【问题讨论】:
-
在 OSB 控制台中,转到有问题的代理,单击操作设置选项卡并打开跟踪选项。也许这会帮助您获得一些日志记录以确定发生了什么?您也可以为业务服务执行此操作。
-
@better_use_mkstemp,感谢您的建议。我确实相信我已经启用了跟踪,但是,当启用代理服务并从远程队列中删除消息时,我没有看到任何记录。我认为应该将跟踪日志写入 OSB 服务器的标准日志文件是否正确?还是我在错误的地方寻找痕迹?
-
您应该能够跟踪您正在访问其代理的托管服务器的日志,并看到如下消息:“[OSB Tracing] Routing to /services/enterprise/DataService/v2.0.0/DataServiceBusiness with消息上下文:”,然后是“[OSB 跟踪] 以下变量已更改:”或“[OSB 跟踪] 入站响应已发送”确保它是托管服务器日志,而不是其他日志。类似于
/servers/ /logs -
我查看了 OSB 服务器的日志文件,没有任何迹象表明正在记录任何跟踪级别的消息。当我启用代理服务时,我可以看到一个 INFO 级别日志,其中显示:
The Message-Driven EJB has connected/reconnected to the JMS destination: REMOTE_QUEUE_NAME,我可以看到远程队列的Messages Current计数下降到 0,Messages Pending计数增加到 1,但没有任何迹象通过代理服务出现在日志文件中。 -
问题解决了吗?我目前有同样的问题。提前致谢。