오류가 발생하면 모든 작업을 롤백하기 위해 폴링이 실현 될 때 트랜잭션 전파가 필요한 SourcePollingChannelAdapter를 사용하고 싶습니다. 메서드 setTransactionSynchronizationFactory에 주석이 없습니다 ... 도움을 주셔서 대단히 감사합니다!트랜잭션이있는 SourcePollingChannelAdapter
<int:poller fixed-rate="5000">
<int:transactional transaction-manager="transactionManager" propagation="REQUIRED" />
</int:poller>
내가 프로그래밍 SourcePollingChannelAdapter과 PeriodicTrigger와 같은 트랜잭션을 사용하고 싶습니다,하지만 난 방법을 모르는 :
XML에서 나는 할 수있다.
나는이있다 :
콩 소스를 호출SourcePollingChannelAdapter adapter = new SourcePollingChannelAdapter();
adapter.setSource(source);
adapter.setTrigger(new PeriodicTrigger(5, TimeUnit.SECONDS));
adapter.setOutputChannel(channel);
adapter.setBeanFactory(ctx);
adapter.start();
, 데이터베이스의 요소는 메시지가 생성되고 outputchannel에 전송 삭제됩니다; 하지만 ouputchannel 후 흐름에 오류가 있다면 나는 데이터베이스를 복원하고 요소가 돌아 왔으면 좋겠어 ... 실제로 전파와 간단한 거래. 나는 어떻게하는지 이해하지 못한다.
ouputchannel은 다음과 같습니다
<int:channel id="channel" >
<int:queue />
</int:channel>
<int-http:outbound-gateway request-channel="channel"
url="http://localhost:8081/icopitole-ws/baseactive" http-method="GET"
reply-channel="reresponseVersionChannel" expected-response-type="java.lang.String" />
이 URL이 응답하지 않는 경우, 당신은 :(
죄송합니다. 정보가 충분하지 않습니다. 'poller'는''로 표시 될 수 있습니다. 여기, http://docs.spring.io/spring-integration/docs/2.2.6.RELEASE/reference/html/transactions.html#transaction-synchronization –
신선한 정보에 따라 내 대답을 업데이트했습니다. –
내 질문을 업데이트했습니다. , 시간 내 줘서 고마워. –