从这里:
PooledConnectionFactory和CachingConnectionFactory之间的区别在于实现上的差异。以下是它们之间不同的一些特征:
尽管 PooledConnectionFactory 和 CachingConnectionFactory 都声明它们各自池连接、会话和生产者,但 PooledConnectionFactory 实际上并没有创建多个生产者的缓存。它只是使用单例模式在请求单个缓存生产者时分发一个缓存生产者。而 CachingConnectionFactory 实际上创建了一个包含多个生产者的缓存,并在请求一个生产者时从缓存中分发一个生产者。
PooledConnectionFactory建立在Apache Commons Pool项目之上,用于池化JMS会话。这允许对池进行一些额外的控制,因为Commons Pool中的某些功能未被PooledConnectionFactory使用。这些附加功能包括增加池大小而不是阻塞,在池耗尽时引发异常等。您可以使用自己的自定义设置创建自己的Commons Pool GenericObjectPool,然后通过setPoolFactory方法将该对象传递给PooledConnectionFactory,从而利用这些功能。有关其他信息,请参阅以下内容:http://commons.apache.org/pool/api-1.4/org/apache/commons/pool/impl/GenericObjectPoolFactory.html
CachingConnectionFactory还具有缓存消费者的能力。使用此功能时需要小心,以便您知道根据博客文章中记下的规则缓存了使用者。
但最重要的是,CachingConnectionFactory将与任何符合JMS的MOM一起使用。它只需要一个 JMS 连接工厂。如果您使用的是多个 MOM 供应商,这一点很重要,这在企业组织中很常见(这主要是由于旧项目和现有项目)。重要的一点是,CachingConnectionFactory可以很好地与许多不同的MOM实现一起使用,而不仅仅是ActiveMQ。
从这里:
如果您已经群集了 ActiveMQ 并使用故障转移传输,则据报道,CachingConnectionFactory 不是正确的选择。
我遇到的问题是,如果一个盒子出现故障,我们应该开始在另一个盒子上发送消息,但它似乎仍在使用旧的连接(每次发送超时)。如果我重新启动程序,它将再次连接,一切正常。来源: ActiveMQ 和 CachingConnectionFactory 的自动重新连接问题
问题是与失败的ActiveMQ的缓存连接仍在使用中,这给用户带来了问题。现在,此方案的选择是 PooledConnectionFactory。
如果您现在正在使用ActiveMQ,并且将来可能会切换到其他代理(JBoss MQ,WebSphere MQ),请不要使用PooledConnectionFactory,因为它将您的代码紧密耦合到ActiveMQ。
但是弹簧实现的缺点 - 它不支持XA事务。但是activemq实现支持它(XAPooledConnectionFactory)。所以,我想说的是,如果你将JMS与其他资源一起使用,甚至与另一个jms代理一起使用,并且想要进行交易 - 使用activemq实现。当然,PooledConnectionFactory也可以与任何符合JMS标准的MOM一起使用。
-
如何使用Java中的RESTful Web服务获取远程/客户端IP地址? 我已经在我的项目中编写了Rest Web服务。Web服务调用可能来自不同 machine.so 我需要通过REST Web服务找出IP地址。 从这个请求.getRemoteAddr()使用这个。 但是我不能使用getRemoteAddr()。因为我的请
-
从包含大量文件的zip文件中提取1文件的最快方法是什么? 我尝试了但它们也缺少一些东西。 LZMA SDK不提供一种如何使用的文档/教程,这非常令人沮丧。没有 javadoc。 虽然7z jbinding没有提供一种简单的方法来只提取1个文件,但是,它只提供了提取zip文件
-
输入/输出流在销毁时是否关闭? Java 中的 InputStreams 和 OutputStreams 是否在销毁时关闭()?我完全理解这可能是不好的形式(特别是在C和C++世界中),但我很好奇。 另外,假设我有以下代码: 无名的FileInputStream是否在p.load
-
Java 程序中的字符串大小是否有任何限制? 我有一个字符串定义为 字符串 xx 我可以分配的字符数是否有任何限制? 2) 我正在将用户输入分配给此字符串 xx。70%的人只说一个字。有时他们给出一个大句子,所以想知道可
-