Example usage for org.springframework.integration.handler.advice SpelExpressionRetryStateGenerator SpelExpressionRetryStateGenerator

List of usage examples for org.springframework.integration.handler.advice SpelExpressionRetryStateGenerator SpelExpressionRetryStateGenerator

Introduction

In this page you can find the example usage for org.springframework.integration.handler.advice SpelExpressionRetryStateGenerator SpelExpressionRetryStateGenerator.

Prototype

public SpelExpressionRetryStateGenerator(String keyExpression) 

Source Link

Usage

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

}