当前位置: 首页 > 知识库问答 >
问题:

Apache Camel——Spring DSL中的引用类型常量

曹季同
2023-03-14

我正在尝试使用SpringDSL定义对黑泽尔卡斯特主题的发布操作

<from uri="direct:inbound" />      
        <onCompletion>
            <log message="onCompletion:- ${body}" />
            <setHeader headerName="${type:org.apache.camel.component.hazelcast.HazelcastConstants.OPERATION}">
                <simple>${type:org.apache.camel.component.hazelcast.HazelcastConstants.PUBLISH_OPERATION}</simple>
            </setHeader>
            <to uri="hazelcast:topic:foo" />
        </onCompletion>                                                
        <log message="${body}" />

上述路线可行,但我必须使用长SIMPLE脚本,如“${type:org.apache.calmel.component.hazelcast.HazelcastConstants.OPERATION}”来引用常量值。有没有更简单或简短的形式?

我尝试为HazelcastConstants类定义一个springbean,并如下所示通过SIMPLE脚本引用它,但它无法处理MethodNotFoundException“Method with name:OPERATION not found on bean”

<bean id="hazelcastConstants" class="org.apache.camel.component.hazelcast.HazelcastConstants" />
... ...
<simple>${bean:hazelcastConstants.OPERATION}</simple>

共有1个答案

柯曦
2023-03-14

如果您定义了一个包含返回相关常量的方法的bean,那么您的bean变通方法将会起作用,例如:

public class ContantRetriever() {
  public String getHazelCastOperation() {
   return org.apache.camel.component.hazelcast.HazelcastConstants.PUBLISH_OPERATION;
  }
}

你的Spring背景:

<bean id="hazelcastConstants" class="yourpackage.ContantRetriever"/>
<simple>${bean:hazelcastConstants.getHazelCastOperation}</simple>

如果这对你没有好处,恐怕你被困在访问常量的长形式中。

 类似资料:
  • 问题内容: e是Exception类型,但在以下代码中显示Exception1: 根据我的研究,“ e”应为Exception类型,它是Exception1和Exception2的通用基类。从第1行的消息可以明显看出这一点。 但是为什么: ?谢谢。 问题答案: 当您使用 多catch子句 (的形式),在编译时类型是最大的类型两种类型的共同点,因为课程的代码必须处理两种类型exception.Fro

  • Obj类型 创建方法:1.new Func() 使用构造函数 2.对象字面量 访问属性:1.obj['name'] 2.obj.name 第一种可以通过变量访问属性,可以使用会导致语法错的的字符串表示属性名 ES6对对象进行了扩展: 可以在对象中只写属性名,属性值则为属性名代表的变量;方法可以简写为 func(){}这种形式 对象字面量定义时,可以在‘[]'内用表达式作为属性名 Object.is

  • 我正在尝试用C重新创建vector类 我在函数at()中得到这个错误; “int”类型的非常量引用的初始化无效 即使函数应该返回引用,也不能将指针作为地址返回吗? 代码如下所示:

  • 由于Solidity是一个静态类型的语言,所以编译时需明确指定变量的类型(包括本地变量或状态变量),Solidity编程语言提供了一些基本类型(elementary types)可以用来组合成复杂类型。 类型可以与不同运算符组合,支持表达式运算,你可以通过表达式的执行顺序(Order of Evaluation of Expressions)来了解执行顺序。 值类型(Value Type) 值类型

  • 本文向大家介绍浅析C# 中的类型系统(值类型和引用类型),包括了浅析C# 中的类型系统(值类型和引用类型)的使用技巧和注意事项,需要的朋友参考一下 今天要写的东西都是书中一些概念性的东西,就当抄笔记,以提问对话的方式将其写出来吧,说不定以后面试能有点谈资~~~   Q1.C#1系统类型包含哪三点特性?   A1.C#1类型系统是静态的、显式的和安全的。   Q2.为什么称为静态类型?   A2.静

  • 本文向大家介绍js引用类型常见的对象有哪些?相关面试题,主要包含被问及js引用类型常见的对象有哪些?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: Object、Array、RegExp、Date、Function、特殊的基本包装类型(String、Number、Boolean)以及单体内置对象(Global、Math)等