2015-03-12 2 views
1

Моя цель - дать возможность опрокидыванию пружинного интегратора, если имеется несколько исключений.spring-integration poller synchronization-factory в цепи-цепочке

У меня есть следующий исходящий канал-адаптер настроен

<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> 

теперь я хочу добавить еще один совет (cuircuit выключатель). для этого мне нужно удалить 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-консультации. какие-либо намеки на то, как это реализовать?

UPDATE я использую пружинную интеграцию версию 3.0.4

ответ

1

Похоже, вы пропустили, что <int:advice-chain> имеет тот же атрибут synchronization-factory и именно для той же цели.

И его описание:

Установка этого атрибута будет только иметь влияние, если совет Transaction присутствует в цепочке.

+0

Я искал его на tx-совете. дурак я. – cproinger

+0

'' выходит из области интеграции Spring, поэтому у нас нет доступа к этому компоненту и должно появиться только с этим решением для родительского тега. Поскольку '' и '' являются взаимоисключающими, он выглядит интуитивно понятным для 'synchronization-factory' в« цепочке консультаций », но не в другом месте. –

Смежные вопросы