在JTA中使用任意资源

Eri*_*rik 3 java jta java-ee

是否可以使用JTA进行任何类型的自定义资源交易?让我们假设一个基本的例子,并采取一个文件夹创建,如果出现错误应该回滚.

可以处理这样的自定义资源吗?

Tom*_*son 9

是.该资源需要提供XAResource的实现,并且在使用资源时需要将该实现的实例与事务一起使用.资源可以从事务管理器获取当前事务,以便在访问时进行注册(我认为).

您可以查看XADisk的代码,它显然是一个XA事务文件管理器,看看它是如何在那里完成的.

但是,在J2EE世界中执行此操作的常见方法不是直接处理JTA,而是使用JCA编写资源适配器,这使得J2EE容器不仅可以处理事务,还可以处理池,命名和各种其他企业详细信息.然而,JCA API并不是那么简单,并且尽管很困难,它仍然受到大量更难记录的文档的捍卫,其主要目的似乎是阻止对它的理解!