配置为缓存大于1的CachingConnectionFactory和PoolingConnectionFactory之间是否有任何区别?
我已经在各种项目中看到过,我想了解选择其中一项的理由。
答案 0 :(得分:0)
这实际上取决于您的使用案例。
bittronix工厂对连接进行池化,并为每次使用提供不同的连接(并将其返回到池中)。
CachingConnectionFactory
使用单个连接并缓存会话,生产者和消费者。
答案 1 :(得分:0)
这真是一个奇怪的问题。你需要XA吗?如果是,那么你别无选择,只能使用PoolingConnectionFactory。你不需要XA?然后不要打扰Bitronix并使用CachingConnectionFactory。
答案 2 :(得分:0)
如果您使用可插入的XA事务管理器(如Bitronix(或Atomikos)),请使用其池实现而不是Spring,因为它们执行其他操作,如自动登记XA事务中的资源。
Bitronix池是:
有关如何设置池的示例,请参阅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