我有一个服务,它通过http入站适配器接收xml消息,然后将它们转换为文本,成为发送出去的电子邮件的内容。 我现在需要先将这些消息插入到JMS队列中,然后在将消息插入Q后将确认作为200 ok发回,然后继续进行剩余的处理。
<int-http:inbound-channel-adapter channel="inputChannel"
id="httpInbound"
auto-startup="true"
request-payload-type="java.lang.String"
path="/message"
supported-methods="POST"
error-channel="logger" >
<int-http:request-mapping consumes="application/xml" />
</int-http:inbound-channel-adapter>
<int:chain id="chain" input-channel="inputChannel" >
<int:service-activator ref="mailTransformerBean" method="transform" />
</int:chain>
服务激活器负责将xml转换为电子邮件的处理。
在此之前,我需要合并一个JMS队列,其中将插入收到的消息,然后发回确认。这是为了保留消息并在服务失败的情况下重试。 我想将其设置为以JMS队列作为端点的事务。 我该如何处理?
答案 0 :(得分:1)
如果您正在寻找in-process persistence storage
之类的内容,请查看SubscribableJmsChannel
:
上例中的频道与普通&lt;频道/&gt;的行为非常相似主要Spring Integration命名空间中的元素。它可以通过&#34;输入通道&#34;和&#34;输出通道&#34;任何端点的属性。区别在于此通道由名为&#34; exampleQueue&#34;的JMS队列实例支持。