Chr*_*der 2 java osgi xa apache-karaf
我有一些事务代码在旧版本的Apache Karaf中运行良好.现在在Apache Karaf 4.0.4中我看到了很多例外.
和
我找到了答案并在此发布,以便让其他人更快地解决同样的问题.我花了很长时间和Guillaume的一些帮助来解决这个问题.
在Aries事务管理器包中的Apache Karaf中使用的geronimo事务管理器可以恢复事务.默认情况下,此功能在较旧的karaf版本中关闭.在Apache Karaf 4.0.4中,这已经发生了变化.
config etc/org.apache.aries.transaction.cfg包含此设置
aries.transaction.recoverable = true
Run Code Online (Sandbox Code Playgroud)
它激活了恢复支持.这样做的缺点是所有jdbc和jms Connections必须实现NamedXAResource.这超出了标准,因此大多数jdbc和jms提供程序都不支持此功能.
ActiveMQ的解决方案是使用JCAPoolingConnectionFactory.对于jdbc,您可以使用aries事务jdbc包装XADataSource.它提供了一个支持恢复的池支持.
如果您对应用程序的工作方式感到满意,则只需将上述开关设置为false即可.然后,交易将像旧的Apache Karaf版本一样工作.
归档时间: |
|
查看次数: |
527 次 |
最近记录: |