【问题标题】:What's the effect of having different connectionFactories on JmsComponent, JmsTransactionManager, JmsConfiguration etc不同的connectionFactories对JmsComponent、JmsTransactionManager、JmsConfiguration等有什么影响
【发布时间】:2016-08-02 17:38:04
【问题描述】:

如果我们有这个:

<bean id="txManager" class="org.springframework.jms.connection.JmsTransactionManager">
    <property name="connectionFactory" ref="pooledConnectionFactory"/>
</bean>


<bean id="config" class="org.apache.camel.component.jms.JmsConfiguration">
    <property name="connectionFactory" ref="nonPooledConnectionFactory"/>        
</bean>

<bean id="myComponent" class="org.apache.camel.component.jms.JmsComponent">
    <property name="configuration" ref="config"/>       // Which one is used?
    <property name="transactionManager" ref="txManager"/>   // Which one is used?
    <property name="cacheLevelName" value="CACHE_CONSUMER" />
</bean>

在使用“myComponent”的骆驼路线中将使用哪个连接工厂? 它的事务管理器引用了一个池化的连接工厂,但它的配置引用了一个非池化的连接工厂。

我们可以在这么多级别上设置 connectionFactory:txManager、JmsComponent、Configuration 等。想知道如果给定的规则不同,使用哪个规则来消除歧义?

【问题讨论】:

    标签: spring apache-camel activemq


    【解决方案1】:

    Spring 将连接它找到的任何东西...如果有歧义,应用程序上下文将不会在不向一个实例添加“主要”区别的情况下启动。

    【讨论】:

    • 上下文开始就好了。
    • 那么你的配置就没有歧义了。也就是说,鉴于 JmsComponent 使用两个不同的连接工厂,您可能会遇到奇怪的问题。 Spring 不会做语义分析来捕捉那种东西......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    相关资源
    最近更新 更多