camel loadbalancer故障转移自定义错误处理程序

时间:2017-10-31 09:56:32

标签: java apache-camel load-balancing

在Spring DSL中定义路由:

      <route>
         <from uri="direct:load1" />
         <loadBalance>
           <failover roundRobin="true" maximumFailoverAttempts="1"/>
            <to uri="broker1:queue:queue"/>
            <to uri="broker2:queue:queue"/>
        </loadBalance>
      </route>

当故障转移耗尽maximumFailoverAttempts时,如何实现自定义错误处理程序或处理器来处理out body?

为了使其更容易理解,broker1和broker2端点都不可用,然后应该调用处理器将out体设置为&#34; failed&#34;举个例子。

目前我正在使用<doTry>

       <route>
         <from uri="direct:load1" />
         <doTry>
         <loadBalance>
           <failover roundRobin="true" maximumFailoverAttempts="1"/>
            <to uri="broker1:queue:queue1"/>
            <to uri="broker1:queue:queue2"/>
        </loadBalance>
        <doCatch>
          <exception>java.lang.Exception</exception>
           <process ref="loadbalanceExceptionProcessor" />
        </doCatch>
      </doTry>
      </route>

有更好的方法吗?

0 个答案:

没有答案