0
from("e1")
  .split()
     .method("bean", "m1")
     .to("e2")
  .end()
  .split()
     .method("bean", "m2")
     .to("e3");

编译器抱怨 2nd to。原因是由于某种原因,它认为第二个split返回ExpressionCaluse而不是ExpressionClause<SplitDefinition>,这导致下面的method返回类型是Object而不是SplitDefinition

4

1 回答 1

0

我在 Eclipse 中尝试过,首先我得到了和你一样的结果(eclipse 代码完成显示错误)。然后我重写了路线(例如,将其与分配分开

ProcessorDefinition pd = from("e1").... 
pd.split()...

然后,回到原始代码,最终 Eclipse 得到了正确的想法,错误标记消失了。我不知道你是否也在尝试eclipse?

@Override
public void configure() throws Exception {
            from("e1")
              .split()
                 .method("bean", "m1")
                 .to("e2")
              .end()
              .split().method("bean", "m2")
                 .to("e3");
        }

我的意思是,它应该工作。ProcessorDefinition 中 split() 的签名是正确的:

public ExpressionClause<SplitDefinition> split()

我想这是我开发中某个地方的一个小故障。环境。也可能是你的……或者什么。奇怪,反正。

于 2012-08-13T20:13:18.380 回答