Enabling MDB to receive messages from foreign JMS product is not difficult, e.g I use WLS brigde to hook up quenes defined in MQ series and SonicMQ, but that's have nothing to do with TransactionContext propogation.

我还是想用jca来做一下,想法是先用jca来生成一个面向CMP EJB的适配器。
只处理连接,这步成功后再加入事务里。
因为两个jboss之间启动一个全局事务的话,不存在异构的问题了,jboss的事务管理器会默认它的另一个事务分支就在jboss上。

关于JMS事务看下图:

为了保证一个操作能够跨越两个平台,可以在数据库中保存一次消息生产时的开始状态,消息使用者完成操作后,在数据库中将状态标志完成。

you might refer to WS-Trasaction Management Specification
http://www.arjuna.com/library/specs/ws_caf_1-0/WS-TXM.pdf

Hi guys,

First of all, WSAD is not a app sever. It is the WAS
(WebSphere app server)
that is the server. WSAD is the IDE.

JCA is used to bridge a back end system to the EJB container
where Transaction, security can be propagated and connection
pooling is managed. The intention is for integrate a
back end system to a EJB container, so obviously, it is
not the solution for your problem.

JMS is messaging system, again used for EAI, but at quite
a low level. JMS is also only a API standard. There is
even no wire standard for it, not transaction management too.
So you can use JMS to exchange information, but that' it.
In the same spirite, web service might be better as it
can pass firewall easily and it has use standard wire protocal
such as HTTP or SMTP.

The simplest solution I would say to let the dollars moved
through a single EJB container (this guy talks with two
databases). If you have to involve two containers, think them
as two different applications and do not let them see each others. In this case, use web service.

Once these containers see each other, you end it up with a system
that is so coupled closely, you won't be able to maintain
the application.

I have worked with many J2EE applications. Your scenario
really seems to be over-designed in the first place
and it leads nowhere.

Just want to add that
you have to manage the transaction yourself,
giving the current web service platforms.

In essence, your question is more about transaction
than message exchange. The point, first make your system
simple enough to be maintained.

to jin: could not agree more

我想我导师的意思是想利用jca这一种应用集成的方案。来实现websphere和jboss之间的集成。
可以先不考虑具体的应用。就单纯来看这两个服务器之间的集成问题。
处理jms,web service,jca也是一种方式吧?

我想我导师的意思是想利用jca这一种应用集成的方案。来实现websphere和jboss之间的集成。
可以先不考虑具体的应用。就单纯来看这两个服务器之间的集成问题。
除了jms,web service,jca也是一种方式吧?

还有一个问题就是jboss支持web service吗?

jboss不提供事务日志,不能保障事务特性ACID中的D即持久性,不能用于银行等关键业务

这个问题不是个很普遍的2pc的问题嘛?

用JMS来实现才是用大炮打蚊子哪!那么重要的转帐问题,出了事情,谁来负责?

真是服了大家,其实这个讨论的问题在于....沟通。
bluegirl提出的课题是"纯"课题(好像有人很早就注意到了)。可是各位DX的讨论方向却是越走越偏(越实用了)。

JCA不是解决方法,如果再坚持下去的话,什么问题都解决不了。跟您的导师说一下吧。
If you want to connect/pass transactions between two EJB Containers, the most logic solustion is like the JBOss expert suggested. Builder your own mbeans! But the problem will be...you need to build two of them in order for what you are proposing to work propertly. One for WebSphere, and one for JBOSS. If I understand correctly, what your mentor is suggesting will be something like a "tunnel communication" between applications in operation system. In that case, JMS will be the solution in his/her mind to the problem. However, like all the DXes in this forum suggest......this is just not the way Java/J2EE works.

bcfbvcxbcv