Bitronix PoolingConnectionFactory vs SpringFramework Caching



缓存配置为缓存大于 1 和 PoolingConnectionFactory 之间有什么区别吗?

我在各种项目中都见过,我想了解选择其中之一背后的理由。

这实际上取决于您的用例。

bittronix工厂将连接池化,并为每次使用提供不同的连接(并将其返回到池中)。

CachingConnectionFactory使用单个连接并缓存会话、生产者和使用者。

这确实是一个奇怪的问题。您需要 XA 吗?如果是,那么你别无选择,只能使用PoolingConnectionFactory。你不需要 XA?然后不要打扰Bitronix,而使用CachingConnectionFactory。

如果你使用像Bitronix(或Atomikos)这样的可插拔XA事务管理器,请使用它们的池实现而不是Spring的,因为它们执行额外的操作,例如在XA事务中自动登记资源。

Bitronix池是:

  • bitronix.tm.resource.jdbc.PoolingDataSource for JDBC
  • bitronix.tm.resource.jms.PoolingConnectionFactory for JMS

值得一看的是Bitronix测试用例,以获取有关如何设置池的示例:

https://github.com/bitronix/btm/blob/master/btm/src/test/java/bitronix/tm/mock/JmsPoolTest.java

https://github.com/bitronix/btm/blob/master/btm/src/test/java/bitronix/tm/mock/JdbcPoolTest.java

相关内容

  • 没有找到相关文章

最新更新