哪个TransactionManger用于回滚事件发送到通道

时间:2014-11-30 09:42:26

标签: spring messaging spring-integration spring-transactions

如果我想使用Spring Intergration,如果我想要回滚一条消息,我之前已发送过,那将使用哪种TransactionManger。我不想使用jms active-mq或类似的东西,只发送一个事件到队列:

class DatingServiceImpl  {

    @Autowired
    final RendezvousChannel rendezvousChannel

    @Autowired
    final GirlsRepository girlsRepository

    @Transactional()
    public final date(final String name ) {

        rendezvousChannel.send(String.format("Hello %s", name ), 100);

        if( girlsRepository.forName(name).hotScore < 8 ) {
            throw new IllegalStateException("No I put it over");
        }

    }

}

2 个答案:

答案 0 :(得分:0)

您应该使用由以下提供的JmsTransactionManager:

org.springframework.jms.connection.JmsTransactionManager. 

可以看到API here

答案 1 :(得分:0)

  

......我不想使用jms active-mq或类似的东西......

没有这样的事务管理器 - 框架本身不是事务性的;要获得事务,通道必须由某些事务资源(如JMS或JDBC)支持。