【发布时间】:2015-07-17 17:21:22
【问题描述】:
我有一条小路由,我想使用自定义重新传递策略来重复向端点发送消息,但行为很奇怪。看起来 redeliveryPolicy 只是重复抛出错误。我试图将所有交换发送到路由的开头,但是策略不起作用,因为每次都在创建:
<route id="sampleRoute">
<from uri="direct:anotheRoute" />
<to uri="nmr:kaboom" />
<choice>
<when>
<xpath>//result = 'true'</xpath>
<to uri="direct:anotherAnotherRoute" />
</when>
<otherwise>
<throwException ref="redeliveryException" />
</otherwise>
</choice>
<onException>
<exception>java.net.SocketException</exception>
<exception>java.net.ConnectException</exception>
<exception>my.custom.error.RedeliveryException</exception>
<redeliveryPolicy ref="customRedeliveryPolicy" />
<to uri="direct:anotheRoute" />
</onException>
</route>
我做错了什么?我想在发生错误时每隔一段时间重复我的请求。我的骆驼版本是2.6
日志:
16:29:43,780 | DEBUG | cc5bd91-thread-1 | DefaultListableBeanFactory | | 59 - org.springframework.beans - 3.0.5.RELEASE | Returning cached instance of singleton bean 'RedeliveryPolicy'
16:29:43,780 | DEBUG | cc5bd91-thread-1 | DefaultErrorHandler | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Failed delivery for exchangeId: ID-1NVC-52527-1436958153799-314-4. On delivery attempt: 0 caught: my.custom.error.RedeliveryException
16:29:43,780 | DEBUG | cc5bd91-thread-1 | RedeliveryPolicy | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Sleeping for: 60 millis until attempting redelivery
16:29:43,840 | DEBUG | cc5bd91-thread-1 | DefaultListableBeanFactory | | 59 - org.springframework.beans - 3.0.5.RELEASE | Returning cached instance of singleton bean 'RedeliveryPolicy'
16:29:43,840 | DEBUG | cc5bd91-thread-1 | DefaultErrorHandler | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Failed delivery for exchangeId: ID-1NVC-52527-1436958153799-314-4. On delivery attempt: 1 caught: my.custom.error.RedeliveryException
16:29:43,840 | DEBUG | cc5bd91-thread-1 | RedeliveryPolicy | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Sleeping for: 60 millis until attempting redelivery
16:29:43,900 | DEBUG | cc5bd91-thread-1 | DefaultListableBeanFactory | | 59 - org.springframework.beans - 3.0.5.RELEASE | Returning cached instance of singleton bean 'RedeliveryPolicy'
16:29:43,900 | DEBUG | cc5bd91-thread-1 | DefaultErrorHandler | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Failed delivery for exchangeId: ID-1NVC-52527-1436958153799-314-4. On delivery attempt: 2 caught: my.custom.error.RedeliveryException
16:29:43,900 | DEBUG | cc5bd91-thread-1 | RedeliveryPolicy | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Sleeping for: 60 millis until attempting redelivery
16:29:43,960 | DEBUG | cc5bd91-thread-1 | DefaultListableBeanFactory | | 59 - org.springframework.beans - 3.0.5.RELEASE | Returning cached instance of singleton bean 'RedeliveryPolicy'
16:29:43,960 | DEBUG | cc5bd91-thread-1 | DefaultErrorHandler | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Failed delivery for exchangeId: ID-1NVC-52527-1436958153799-314-4. On delivery attempt: 3 caught: my.custom.error.RedeliveryException
16:29:43,960 | DEBUG | cc5bd91-thread-1 | RedeliveryPolicy | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Sleeping for: 60 millis until attempting redelivery
16:29:44,020 | DEBUG | cc5bd91-thread-1 | DefaultListableBeanFactory | | 59 - org.springframework.beans - 3.0.5.RELEASE | Returning cached instance of singleton bean 'RedeliveryPolicy'
16:29:44,020 | DEBUG | cc5bd91-thread-1 | DefaultErrorHandler | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Failed delivery for exchangeId: ID-1NVC-52527-1436958153799-314-4. On delivery attempt: 4 caught: my.custom.error.RedeliveryException
16:29:44,020 | DEBUG | cc5bd91-thread-1 | RedeliveryPolicy | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Sleeping for: 60 millis until attempting redelivery
16:29:44,080 | DEBUG | cc5bd91-thread-1 | DefaultListableBeanFactory | | 59 - org.springframework.beans - 3.0.5.RELEASE | Returning cached instance of singleton bean 'RedeliveryPolicy'
16:29:44,080 | DEBUG | cc5bd91-thread-1 | DefaultErrorHandler | | 68 - org.apache.camel.camel-core - 2.6.0.fuse-03-01 | Failed delivery for exchangeId: ID-1NVC-52527-1436958153799-314-4. On delivery attempt: 5 caught: my.custom.error.RedeliveryException
16:29:44,081 | DEBUG | cc5bd91-thread-1 | NMR | | 81 - org.apache.servicemix.nmr.core - 1.4.0.fuse-03-01 | Channel org.apache.servicemix.nmr.core.ChannelImpl@7dc124e5 dispatching exchange: [
【问题讨论】:
标签: java xml apache-camel