apache-camel - 如何在 Camel route 使用枚举?

标签 apache-camel

我有以下路线:

.choise()
   .when()
      .simple("${body.messageType} == 105")
          .to(...)
   .when()
      .simple("${body.messageType} == 106")
          .to(...)

我想用这个枚举来比较。
  package myPackage; 

  public enum Code {
     CODE_A("105"), 
     CODE_B("106")

     private String value;

    Code(String value) {
        this.value = value;
    }

    public String value() {
        return value;
    }
}

我试图做这样的事情,但它不起作用..
.simple("${body.messageType} == ${type:myPackage.Code.CODE_A.value()}")

有什么想法可以解决这个问题吗?

最佳答案

根据 http://camel.apache.org/simple.html你可以只用

.simple("${body.messageType} == ${type:myPackage.Code.CODE_A}")

在您尝试使用的示例中
myPackage.Code.value()

不是
myPackage.Code.CODE_A

关于apache-camel - 如何在 Camel route 使用枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43145095/

相关文章:

java - 在camel DSL中表示来自xml的路由列表

sockets - 接收套接字请求,通过各种端点,并使用 camel 中的 netty 响应同一个套接字连接

java - setHeader() 如何在 Apache Camel 中工作

java - 在 Apache Camel 中修改主体的最佳方法?

java - Apache Camel Spring Web 服务

linux - 你如何使用 camel-exec 在 Linux 中移动文件?

java - 从外部 Tomcat 目录读取可重新加载的 xml 文件

java - 在 Camel CXF 路由中配置 ActiveMq 故障转移代理 URL

apache - ProducerTemplate 和 Direct :start in camel

java - Apache Camel : Need advice for Routing