在Apache Camel中使用Exchange exchange = consumer.receive();
模板在PollingConsumer
之后是否有可能表示错误?例如,如果您从Bean处理器抛出错误,则Camel在控制台中打印一个堆栈跟踪,并停止路由。是否可以使用PollingConsumer进行相同的操作,可能再次重试该消息?有这个PollingConsumerPollStrategy
,但看起来是为了在receive()之前进行错误处理。
最佳答案
没有轮询使用者是基于队列的交换,因此它返回已检索到成功交换的交换。如果无法在该时间内检索到交换,则可以使用带有超时的receive来引发超时异常。
如果要例外,请使用Consumer
而不是PollingConsumer
。