如果数据源不能通过JDBC调用,是否可以实现前事务管理器之一?
编辑的
我想为现有的应用程序创建一个加载项。我的加载项将负责记录长期运行的工作流事务的读写访问。我的外接程序还应该负责缓存变量,以便在每次访问变量时不必进行读/写操作。
应用程序在Tomcat6环境中运行,我通过调用插件管理器(它保存来自不同数据源的数据)来获取数据。
你知道我能读到的任何链接吗?或者可能知道一些现有的解决方案?
发布于 2011-10-20 15:50:10
听起来你还没有完全理解事务管理器和资源管理器之间的区别。事务管理器(如JBossTS )通过RM驱动程序提供的XAResources驱动资源管理器(如Oracle、MSSQL等)。
您没有实现事务管理器--它已经实现了。您正在实现一个新的资源管理器,并使用现有的事务管理器来驱动它。阅读XA规范,然后实现XAResource并将您的资源登记到事务管理器中。只要您的impl符合规范,事务管理器就会以与数据库驱动程序或消息队列提供的实现相同的方式使用它。
注意,在ACID事务范围内对外部(即非事务性)系统执行I/O操作基本上是不可能的。您可以期望的最佳结果是基于补偿的模型或1 1PC行为,最后一次资源提交优化。
https://stackoverflow.com/questions/7838531
复制相似问题