关于jms的分布式事务处理问题?
jms支持分布式事务处理吗?如果支持,具体怎么实现的呢?
jms支持分布式事务处理吗?如果支持,具体怎么实现的呢?
当然可以,具体怎么实现,那要看要做什么东西了
首先感谢你的回答!!!:)
我只想这么做:
一个客户端在对数据库进行了操作1之后,发出消息1,另一个客户端接收消息1,然后对数据库做了操作2。
对数据库的操作1和发出消息1放在一个事务中,当第一个客户端出现任何异常,对数据库的操作1和发出消息这两个动作都回滚,
接收消息和对数据库的操作2放在一个事务中,当第二个客户端出现任何异常,接收消息和对数据库的操作2这两个动作都回滚。
这都能实现吧,怎么实现呢?(我只想用jms,不用消息驱动bean 。)
?????
可以用EJB,这样就可以利用容器管理的事务
>对数据库的操作1和发出消息1放在一个事务中,当第一个客户端出现任何>异常,对数据库的操作1和发出消息这两个动作都回滚
这两个方法都声明为Required
>接收消息和对数据库的操作2放在一个事务中,当第二个客户端出现任何 >异常,接收消息和对数据库的操作2这两个动作都回滚
接受消息肯定用消息驱动bean,onMessage方法采用默认的事务就行,而对数据库的操作2的方法用RequiresNew,这样可以避免消息重发
>对数据库的操作1和发出消息1放在一个事务中,当第一个客户端出现任何>异常,对数据库的操作1和发出消息这两个动作都回滚
这两个方法都声明为Required,然后被另一个ejb方法调用,这样他们就会在同一个事务上下文中了
这个问题没有必要用jms,甚至没有必要用ejb,都是牛刀杀小鸡,:)
用几个并发线程一起计算就够了。
to:daquan198163
可是如果不想用ejb(也不用消息驱动bean),只用jms做不到吗?
to:Azure_2003
并发线程?
说说看,我不太懂。
如果实现起来比jms简单那就太好了。
我帮你搞定了,你给我多少钱?哈哈
帮帮忙喽。:)
JMS可以做到,具体查看JMS设置。