Apache camel 骆驼JMS组件缓存级别和Spring';s卡钦连接厂
根据apachecamel的文档,我们应该将Cache level设置为Cache_CONSUMER,以便在处理非XA事务时获得更好的性能。 可能是这样,因为PooledConnectionFactory不缓存使用者 代替PooledConnectionFactory,我使用Spring的CachingConnectionFactory,因为PooledConnectionFactory与ActiveMQ结合在一起,我处理的是IBMMQ 另一方面,CachingConnectionFactory也缓存了生产者和消费者。 因此,我希望在这种情况下,将JmsComponent的缓存级别设置为cache_CONSUMER没有意义 如果我错了,请纠正我。Apache camel 骆驼JMS组件缓存级别和Spring';s卡钦连接厂,apache-camel,spring-jms,apache-camel-3,Apache Camel,Spring Jms,Apache Camel 3,根据apachecamel的文档,我们应该将Cache level设置为Cache_CONSUMER,以便在处理非XA事务时获得更好的性能。 可能是这样,因为PooledConnectionFactory不缓存使用者 代替PooledConnectionFactory,我使用Spring的CachingConnectionFactory,因为PooledConnectionFactory与ActiveMQ结合在一起,我处理的是IBMMQ 另一方面,CachingConnectionFactory
任何建议都会大有裨益是的,我觉得你的理解就在这里 如本报告的一条评论所述 尽管
池连接工厂和
CachingConnectionFactory
声明它们每个池连接,
会话和生产者,PooledConnectionFactory
没有
实际创建多个生产者的缓存。它只是使用了一个
singleton模式,当一个缓存生产者
请求。而CachingConnectionFactory
实际上创建了
包含多个生产者的缓存,并从
当请求缓存时,缓存将被删除
通过在使用者级别进行缓存,即设置CACHE\u consumer
,这意味着连接、会话和使用者已被缓存
但是,通过使用CachingConnectionFactory
,您可以将使用者和生产者缓存默认设置为true
,并在需要时获得对它们的控制权。因此,不需要更多的缓存级别
其他帮助:
是的,我觉得你的理解就在这里
如本报告的一条评论所述
尽管池连接工厂和
CachingConnectionFactory
声明它们每个池连接,
会话和生产者,PooledConnectionFactory
没有
实际创建多个生产者的缓存。它只是使用了一个
singleton模式,当一个缓存生产者
请求。而CachingConnectionFactory
实际上创建了
包含多个生产者的缓存,并从
当请求缓存时,缓存将被删除
通过在使用者级别进行缓存,即设置CACHE\u consumer
,这意味着连接、会话和使用者已被缓存
但是,通过使用CachingConnectionFactory
,您可以将使用者和生产者缓存默认设置为true
,并在需要时获得对它们的控制权。因此,不需要更多的缓存级别
其他帮助:
下午好
你的理解大体上是正确的。请注意,当您将CACHE\u CONSUMER
应用于侦听组件时,这意味着Spring JMS消息侦听器应该缓存消息使用者(有些明显)。缓存使用者需要SpringJMS消息侦听器也缓存JMS会话和连接
如果您想要使用事务端点,那么必须从SpringJMS消息侦听器中删除此缓存的责任。在事务处理的情况下,将缓存连接工厂外部化。这就是为什么如果事务处理
为真
时,级别默认为缓存_NONE
当您将transactived
设置为true
并提供连接工厂时,将创建一个JMS事务管理器,该管理器与连接工厂一起管理事务。这就是为什么SpringJMS消息侦听器无法管理使用者/会话/连接
第一个答案是正确的,使用CachingConnectionFactory
将获得所需的缓存,并将缓存从Spring消息侦听器容器外部化。允许事务管理器访问JMS会话。下午好
你的理解大体上是正确的。请注意,当您将CACHE\u CONSUMER
应用于侦听组件时,这意味着Spring JMS消息侦听器应该缓存消息使用者(有些明显)。缓存使用者需要SpringJMS消息侦听器也缓存JMS会话和连接
如果您想要使用事务端点,那么必须从SpringJMS消息侦听器中删除此缓存的责任。在事务处理的情况下,将缓存连接工厂外部化。这就是为什么如果事务处理
为真
时,级别默认为缓存_NONE
当您将transactived
设置为true
并提供连接工厂时,将创建一个JMS事务管理器,该管理器与连接工厂一起管理事务。这就是为什么SpringJMS消息侦听器无法管理使用者/会话/连接
第一个答案是正确的,使用CachingConnectionFactory
将获得所需的缓存,并将缓存从Spring消息侦听器容器外部化。它允许事务管理器访问JMS会话。我担心的是,在处理JMSComponent时,CACHE_自动返回到CACHE_NONE。因此,即使我使用CachingConnectionFactory,即使缓存级别为cache\u NONE,这些缓存的消费者也会被提取吗?根据我的理解,这里它必须默认为cache\u CONSUMER
,而不是cache\u AUTO
。这将是一个很大的帮助,如果来自camel group的人在这里发表评论并确认sameI,我会担心在处理JMSComponent时,CACHE_自动返回到CACHE_NONE。所以即使我使用CachingConnectionFactory,那些缓存的cons