gpt4 book ai didi

java - Apache Camel : Ambiguous method invocations possible : JmsMessage

转载 作者:行者123 更新时间:2023-12-01 13:38:35 24 4
gpt4 key购买 nike

我正在使用 apache Camel 2.12.1,并且我的多个 onException 语句有问题。我的路线如下:

<onException redeliveryPolicyRef="redeliveryPolicy1">
<exception>com.somePackage.Exception1</exception>
<handled>
<constant>true</constant>
</handled>
<bean ref="errorHandler" />
</onException>


<onException redeliveryPolicyRef="redeliveryPolicy2">
<exception>com.somePackage.Exception2</exception>
<handled>
<constant>true</constant>
</handled>
<bean ref="errorHandler" />
</onException>


<onException redeliveryPolicyRef="redeliveryPolicy3">
<exception>java.lang.Exception</exception>
<handled>
<constant>true</constant>
</handled>
<bean ref="errorHandler" />
</onException>

<bean ref="bean1" />
<bean ref="bean2" />
<bean ref="bean3" />

如果在 bean 中处理时发生 Exception1 或 Exception2,我的 errorHandler 会被正确调用(正确的方法绑定(bind))。但在其他一些情况下,当 bean2 抛出 SomeOtherException 时,我对最后一个 onException 语句有问题。

我得到的错误是:

可能存在不明确的方法调用:[Bean2.method1(Foo1)、Bean2.method2(Foo2)、Bead2.method3(Foo3)]。 Exchange[JmsMessage[JmsMessageID: ]]

可能camel获取的是Exchange,即JmsMessage,而不是我的类Foo1、Foo2。怎么解决这个问题?

最佳答案

当方法不明确时,你可以告诉Camel调用哪个方法,例如在最后一个onException中

改变

<bean ref="errorHandler" />

包含方法属性

<bean ref="errorHandler" method="nameOfMethodToCall" />

关于java - Apache Camel : Ambiguous method invocations possible : JmsMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com