Praba
Praba

Reputation: 1

Spring XD stream failure handling

I have a stream as follows, source(jms-ibmmq) -> Process -> Process -> sink(jdbc-oracle)

Data ingestion works fine. But as part of my stream there is a possibility that my sink(jdbc-oracle) will be down (or) that there is some problem in the network which prevents persistence to the oracle db.

What I am asking is how to handle this failure and what option spring xd can provide out of the box? Is there a pattern thats commonly used to handle these failures in the streams which has caused processing / sink modules?

Upvotes: 0

Views: 297

Answers (1)

Gary Russell
Gary Russell

Reputation: 174719

Please see the comments on this JIRA issue they explain documentation changes we are adding to explain how to configurre dead-lettering in the message bus.

In addition, we have provided mechanisms such that, if all four modules are deployed to the same container (and all containers that match the deployment criteria), we will directly connect the modules such that an error in the sink will be thrown back to the source (causing the JMS message to be rolled back in your case).

This is achieved by setting the module count property to 0 (meaning deploy on all containers that match the criteria - if any - or all containers, if no criteria).

This feature is available on master (it was added after M7).

Upvotes: 1

Related Questions