【发布时间】:2014-03-04 12:18:11
【问题描述】:
我们正在使用带有 Mule ESB JMS 的活动 mq 来提供我们的 Web 服务。它工作正常。但问题是,即使请求从队列转发到我的服务,处理并返回响应,但仍然在 Active MQ Web 控制台中,待处理消息数显示请求总数。 网页控制台 ::
流程图,
Mule 中的流程是 ::
<jms:activemq-connector name="Active_MQ" brokerURL="tcp://localhost:61616" validateConnections="true" doc:name="Active MQ"/>
<flow name="vbrtestmulejmsFlow1" doc:name="vbrtestmulejmsFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8888" doc:name="HTTP" path="AMServices">
<set-property propertyName="Content-Type" value="text/xml"/>
</http:inbound-endpoint>
<object-to-string-transformer doc:name="Object to String" mimeType="text/xml"/>
<jms:outbound-endpoint queue="servicesQueue" connector-ref="Active_MQ" doc:name="JMS" responseTimeout="1000000" mimeType="text/xml" >
</jms:outbound-endpoint>
<http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="5050" path="MyServices" method="POST" doc:name="HTTP" contentType="text/xml">
<set-property propertyName="Content-Type" value="text/xml"/>
</http:outbound-endpoint>
</flow>
【问题讨论】:
-
不确定我是否理解,您的流程只是将消息放入队列中,而您永远不会将它们删除。那么他们留在队列中不是正确的吗?
-
不,它应该转发到位于 localhost:5050/MyServices 的 MyServices。但是现在请求被转发到 Myservices 并将响应返回给我的 SOAPUI。但它仍然显示在待处理的消息中
-
调试这个是完全不可能的,因为您没有共享任何有关您的 JMS 使用者的信息。如果您将 JMS 使用者替换为 Mule JMS 入站端点,您是否会遇到同样的问题?
标签: java web-services activemq mule esb