实现应该是可以的,但效率肯定不会很高,因为这样做本身就违背的消息BEAN的设计初衷了!(消息BEAN是为了异步处理而产生的,而事物处理应该是实时的!)

解决方案 »

  1.   

    To:pengji
    事务处理实际上有很多类型,例如补偿事务,并不都是类似数据库处理中的短事务,所以这应该不是问题。To:all
    请继续,谢谢!
      

  2.   

    关注.
    容器管理中的bean可以实现同步回滚.
      

  3.   

    我对jms,消息bean不熟,说上两句
    按照transaction的使用来看,是否应该A在发送消息时得把本次建立的transaction一起传过去,等待B来commit,但如此,这个transaction锁定的资源怎么办?这样很容易死锁
      

  4.   

    好像不能直接实现,本来异步消息的可靠性是没有保障的,而且常用来做分布式的消息传递,所以一般不能直接操作事务,不过要做也是可以的,当要发生事务回滚的时候,可以重新发送一个消息,告诉回滚,然后接收到该回滚信息后,消息Bean做处理。只能自己实现事务了。
      

  5.   

    按照楼上的说法,A还是得保持着transaction,等待B的消息,决定是commit还是roolback,在这中间,资源可是被锁上的,怎么办?