List of usage examples for org.springframework.integration.handler.advice SpelExpressionRetryStateGenerator SpelExpressionRetryStateGenerator
public SpelExpressionRetryStateGenerator(String keyExpression)
From source file:org.springframework.integration.handler.advice.AdvisedMessageHandlerTests.java
@Test public void defaultStatefulRetryRecoverAfterThirdTrySpelState() { final AtomicInteger counter = new AtomicInteger(3); AbstractReplyProducingMessageHandler handler = new AbstractReplyProducingMessageHandler() { @Override//from ww w . ja v a 2s. co m protected Object handleRequestMessage(Message<?> requestMessage) { if (counter.getAndDecrement() > 0) { throw new RuntimeException("foo"); } return "bar"; } }; QueueChannel replies = new QueueChannel(); handler.setOutputChannel(replies); RequestHandlerRetryAdvice advice = new RequestHandlerRetryAdvice(); advice.setRetryStateGenerator(new SpelExpressionRetryStateGenerator("headers['id']")); defaultStatefulRetryRecoverAfterThirdTryGuts(counter, handler, replies, advice); }