我有一个服务,它通过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队列作为端点。我该怎么处理这个?
发布于 2016-02-04 20:18:37
如果您正在寻找类似于in-process persistence storage的东西,请查看SubscribableJmsChannel:
上述示例中的通道的行为非常类似于主命名空间中的一个普通元素。它可以被任何端点的“输入通道”和“输出通道”属性引用。不同之处在于,这个通道由一个名为"exampleQueue“的JMS实例支持。
https://stackoverflow.com/questions/35210271
复制相似问题