【发布时间】:2013-12-26 16:48:33
【问题描述】:
我的要求是使用带有消息驱动通道适配器 (JmsMessageDrivenEndpoint) 的事务会话。我可以使用 sessionTransacted = true 为 DefaultMessageListenerContainer 设置配置购买。
工作流程:接收消息->调用服务激活器->服务激活器调用dao类
成功提交到数据库时,spring 框架会调用 commit(),而在任何运行时异常时,spring 框架会调用 rollback()。哪个工作得很好。当发生回滚时,JMS 代理将消息再次发送回我的应用程序。
对于 dao 中的特定类型的异常,我想添加消息头(即重新发送时间),以便 JMS Broker 不会立即再次发送消息。我该怎么做?
对于 dao 中的另一种特定类型的异常,我想使用控制总线停止端点(消息驱动通道适配器)并在停止它之前回滚前一个事务。我该怎么做?
谁能帮帮我?
【问题讨论】:
标签: spring-integration spring-transactions spring-jms