Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 驼峰负载平衡器故障切换自定义错误处理程序_Java_Apache Camel_Load Balancing - Fatal编程技术网

Java 驼峰负载平衡器故障切换自定义错误处理程序

Java 驼峰负载平衡器故障切换自定义错误处理程序,java,apache-camel,load-balancing,Java,Apache Camel,Load Balancing,使用Spring DSL中定义的路由: <route> <from uri="direct:load1" /> <loadBalance> <failover roundRobin="true" maximumFailoverAttempts="1"/> <to uri="broker1:queue:queue"/> &

使用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 body设置为“failed”,作为示例

目前我正在使用


java.lang.Exception
有没有更好的方法

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