gpt4 book ai didi

java - Camel AmbiguousMethodCallException 抽象类

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:18 26 4
gpt4 key购买 nike

我有三个类(class)

public abstract FoundationReport
{
public abstract FoundationDetails getDetails();
}

public abstract BaseReport extends FoundationReport
{
public abstract BaseDetails getDetails();
}

public Report extends BaseReport
{

ReportDetails reportDetails;

public ReportDetails getDetails()
{
return reportDetails
}
}

ReportDetails 扩展了 BaseDetails,BaseDetails 扩展了 FoundationDetails。

在我的 Camel xml 中,我有一个部分:

<convertBodyTo type="path.to.Report" />
<when>
<simple>${body.details.type} == 'myself'</simple>
...

然而调用 body.details.type 的结果是:

Caused by: org.apache.camel.component.bean.AmbiguousMethodCallException:     
Ambiguous method invocations possible:
[public path.to.ReportDetails path.to.Report.getDetails(),
public abstract path.to.BaseDetails path.to.BaseReport.getDetails(),
public abstract path.to.FoundationDetails path.to.FoundationReport()]

我曾(错误地)假设将使用 Report 类中 getDetails 的唯一具体实现。为什么会出现此异常?我该如何解决?

最佳答案

这是 Apache Camel 中的一个错误。我已经复制了它,并记录了一张票来解决这个问题:https://issues.apache.org/jira/browse/CAMEL-9032

关于java - Camel AmbiguousMethodCallException 抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31671894/

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