关于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设置。