java - Apache Camel : Adding parameters to throwException statement

标签 java apache-camel custom-exceptions

我有一个自定义异常类,customException,调用它时需要三个参数(两个整数和字符串)。

目前在我的camel.xml 文件中,我有:

<onException>
     <exception>org.apache.camel.http.common.HttpOperationFailedException</exception>
     <throwException exceptionType="package.path.of.customException" message="custom message" />
</onException>

当抛出异常时,我想要的特定变量为空。如何在 Camel 中设置该变量?这可能吗?

最佳答案

您可以将异常定义为具有自定义构造函数参数和属性值的单独 bean,并从 throwException 引用它:

<bean id="myException" class="package.path.of.customException">
  <constructor-arg index="0" value="Custom message"/>
  <property name="someIntProperty" value="10"/>
  <property name="anotherIntProperty" value="#{null}"/>
</bean>

<camelContext ...>
  <onException>
    <exception>org.apache.camel.http.common.HttpOperationFailedException.HttpOperationFailedException</exception>
    <throwException ref="myException" />
  </onException>
</camelContext>

关于java - Apache Camel : Adding parameters to throwException statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46040649/

相关文章:

java - Apache Camel : How do I use Aggregation to get the actual old exchange

javascript - 如何使用 bokeh 库(Python + JavaScript)管理错误并将其显示在用户界面上?

c# - 如何使用c#更改波形文件中的采样率

java - JAVA中使用键盘控制机器人

apache-camel - Hawt.io 阻止 Jvisualvm 连接到 JVM

apache-camel - Apache Camel - 死信 channel - 丰富消息

c# - 要说自定义异常是可序列化的,最低要求是什么?

c# - 在 C# 中捕获自定义异常

java - 继承方法需要多一个参数

java - 对递归方法和循环感到困惑