我不熟悉Camel,并且在JavaDSL中使用简单表达式从属性文件中获取值。
<代码>。setProperty(“PortalUrl”,简单(“properties:Portal.url”))
属性文件值-门户。url=abc。com/示例
但是现在我需要从属性文件中获取客户特定的URL。示例值-
<代码>门户。url。客户1=abc。com/example/xiang门户。url。客户2=abc。com/示例/xyz
客户名称出现在请求本身中,因此我想像代码一样进行操作。setProperty(“PortalUrl”,简单(“属性:Portal.url”)“${body.customerName}”))
但是上面的代码不起作用,它给我PortalUrl属性的值作为属性:Portal.ulr.customer1
当我尝试使用直接硬编码值时,它会从属性文件中为我提供正确的URL-<代码>。setProperty(“PortalUrl”,简单(“属性:Portal.url”)“customer1”))
它返回了正确的值-<代码>abc。com/example/abcd
但我想动态获取URL,作为传入请求中的客户名称。有谁能帮我一下,解释一下简单的工作原理吗。
您是否尝试过使用简单语言的${body}
函数:
.setProperty("PortalUrl",
simple("${properties:Portal.url.${body.customerName}}"))
在Camel(JBoss Fuse,特别是Spring DSL)中,我试图用Camel简单表达式读取布尔值。 ${body}是一个有效的非空POJO,'fielda'是另一个嵌套POJO,fieldb是一个布尔值。Fielda可以为空,但body不能为空。 当fielda为非null时,我能够读取值而不会出错。 从各种文档来源(Apache Camel Simple、JBoss Fuse)可以看出
我在骆驼路线中使用了这个表达: 然而,它对这个符号感到震惊。 如何构造这个表达式,假定它从消息体上POJO的getter获取一个值,并将其压缩到Exchange上的一个属性(加1)。
我使用simple in camel编写脚本语言。我只需要将主体设置为空。 我试试这个: 它将正文设置为文字字符串“null”。 如果我这样做: 它可以工作,但似乎有点笨重。有没有一种简单的方式来表示null?
问题内容: Spring 3引入了一种新的表达语言(SpEL),可以在bean定义中使用。语法本身已经很好地指定了。 目前还不清楚SpEL如何与以前版本中已经存在的属性占位符语法进行交互。SpEL是否支持属性占位符,还是我必须结合两种机制的语法并希望它们结合起来? 让我举一个具体的例子。我想使用属性语法,但要加上elvis运算符提供的“默认值”语法,以处理未定义的情况。 我尝试了以下语法,但没有成
问题内容: 我正在使用NewtonSoft JObject解析JSON字符串。如何以编程方式从动态对象获取值?我想简化代码,以免对每个对象重复说明。 有什么办法可以将“ if”语句中的代码块提取到单独的方法中,例如: 甚至有可能因为我们不能对动态对象使用反射。还是我甚至正确使用了JObject? 谢谢。 问题答案: 假设您正在使用Newtonsoft.Json.Linq.JObject,则不需要使
问题内容: 在我的Java应用程序中,用户可以指定如何从一系列元数据字段中命名其文件。即 然后,我的代码解析这些字段,并相应地重命名文件。但我希望用户能够使用“表达式语言”,以便他们能够说出类似以下内容: 使用,比较长度和大小写等。 我不想从头开始编写此代码,有什么可以为我提供这些代码的插件吗? 编辑:我认为我收到了一些好评,但我的知识让我失望。让我们简化我希望用户能够写的问题 $ if(%dis