SourcePollingChannelAdapter z transakcją

Chciałbym użyć SourcePollingChannelAdapter z propagacją transakcji WYMAGANE podczas sondowania, aby wycofać wszystkie operacje, jeśli wystąpi błąd. Metoda setTransactionSynchronizationFactory nie jest komentowana ... Bardzo dziękuję za pomoc!

W XML mogę to zrobić:

<int:poller fixed-rate="5000">
  <int:transactional transaction-manager="transactionManager" propagation="REQUIRED" />
</int:poller>

Chciałbym programowo wykorzystać transakcję taką jak SourcePollingChannelAdapter i PeriodicTrigger, ale nie wiem jak.

Mam to :

SourcePollingChannelAdapter adapter = new SourcePollingChannelAdapter();
adapter.setSource(source);
adapter.setTrigger(new PeriodicTrigger(5, TimeUnit.SECONDS));
adapter.setOutputChannel(channel);
adapter.setBeanFactory(ctx);
adapter.start();

Gdy wywoływane jest źródło fasoli, element w bazie danych jest usuwany, wiadomość jest tworzona i wysyłana w kanale wyjściowym; ale jeśli mam błąd w przepływie po przywróceniu ouputchannel, a baza danych powróci i element powróci ... prosta transakcja z propagacją. Nie rozumiem jak to zrobić.

Ouputchannel to:

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

Gdy adres URL nie odpowiada, zgłaszany jest wyjątek, ale nie jest wykonywane wycofywanie, chociaż dodałem DefaultTransactionSynchronizationFactory i TransactionInterceptor, jak powiedziałeś :(

questionAnswers(1)

yourAnswerToTheQuestion