Originally posted by JiaPei Jen:
How can a transaction be coordinated with legacy systems or Java systems outside the container/server?
in order to access a legacy system you need some sort of connector. If you want your connector to enlist with ongoing transactions in your app-server, the connector must be JTA complient, meaning that the classes that represent resources (like a
jdbc connection) in your legacy system must implement javax.transaction.xa.XAResource and the manager / factory that allow you to obtain those resources must ba capable to detect ongoing transactions and enlist your resource with it.
Most commercial connectors are JTA complient but you can find situations (like when connecting to an AS400 queue using JTOpen) when you'll have to implement transaction aware access classes yourself.
Of course if you use a JCA compliant connector all becomes much more simple.
Cheers,
e.