2014-10-19 2 views
1

Пример маршрут:Camel onException не ломает NoMessageIdException idempotentConsumer?

onException(Exception.class) 
.process(new Processor() { 
    @Override 
    public void process(Exchange exchange) throws Exception { 
     System.out.println("it works"); 
     } 
    }) 
    .handled(true); 
from("jetty://http://0.0.0.0:8888/test") 
.idempotentConsumer(header("myid"), MemoryIdempotentRepository.memoryIdempotentRepository(1000000)) 
.skipDuplicate(false) 
.filter(property(Exchange.DUPLICATE_MESSAGE).isEqualTo(true)) 
    .throwException(new DuplicateRequestException()) 
.end(); 

Отправка запроса к слушателю URL без MyID параметра бросает org.apache.camel.processor.idempotent.NoMessageIdException: Нет идентификатор сообщения не может быть найден с помощью выражения: заголовок (MyID) на сообщении обмен: Exchange [Сообщение: [Тело - экземпляр org.apache.camel.StreamCache]]

без перехода от onException.

+0

Вы говорите, что это не печатая "работает"? –

+0

Да, это не так. –

ответ

Смежные вопросы