建议链中的spring-integration poller同步工厂

时间:2015-03-12 10:00:02

标签: spring spring-integration

我的目标是让一个弹簧集成轮询器退出轮询,如果发生了几个异常。

我配置了以下出站通道适配器

    <int:outbound-channel-adapter id="adapter" ref="handler" 
        method="handle" channel="channel" >
        <int:poller max-messages-per-poll="50" fixed-delay="13"
             time-unit="SECONDS" task-executor="threadpool">
            <int:transactional synchronization-factory="mySyncFactory" 
                transaction-manager="simpleJdbcTransactionManager"
                timeout="30"/>
        </int:poller>   
    </int:outbound-channel-adapter>

现在我想补充一点建议(电路断路器)。为此,我必须删除int:transactional-tag并添加一个建议链。我可以写这样的

    <int:outbound-channel-adapter id="adapter" ref="handler" 
        method="handle" channel="channel" >
        <int:poller max-messages-per-poll="50" fixed-delay="13"
             time-unit="SECONDS" task-executor="threadpool">
            <int:advice-chain>
                <tx:advice transaction-manager="simpleJdbcTransactionManager">
                    <tx:attributes>
                        <tx:method name="*" timeout="30000" />
                    </tx:attributes>
                </tx:advice>
                <int:ref bean="cuircuitBreaker"/>
            </int:advice-chain>
        </int:poller>   
    </int:outbound-channel-adapter>

我找不到为tx-advice声明同步工厂的可能性。关于如何实现这一点的任何提示?

更新 我正在使用spring-integration版本3.0.4

1 个答案:

答案 0 :(得分:1)

您似乎错过了<int:advice-chain>具有相同synchronization-factory属性且完全出于同一目的。

及其描述:

  

如果链中存在交易建议,则此属性的设置只会产生影响。