gpt4 book ai didi

java - 从 java bean 获取 CamelContext 参数

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

我对 Spring 和 Camel 有疑问。

很抱歉我无法粘贴真实代码...因此,我正在尝试使用占位符获取在 Camel 上下文中定义的属性。但属性为空。

<bean id="mySuperClass"
class="com.lol.rofl.MySuperClass">
</bean>
<camelContext id="blablabla" xmlns="http://camel.apache.org/schema/spring">
<propertyPlaceholder id="myProp"
location="classpath:camel/contexts/myprops.properties" />
....
Some fantastique code that use the properties and works.
....
</camelContext>

.java :

public class MySuperClass implements CamelContextAware
{

public void getCCProperties()
{
final Map<String, String> camelContextProperties = camelContext.getProperties();
crawlerOutputDirectory = camelContextProperties.get("my.super.pro");
}
}

我只是觉得我没有尝试正确的方法,谢谢你的帮助


解决方案

placeHolders 中的属性可以这样找到:

camelContext.resolvePropertyPlaceholders("{{" + propertyName + "}}");

例如:camelContext.resolvePropertyPlaceholders("{{output.directory}}");

最佳答案

阅读方法的 javadoc,CamelContext 上的 getProperties 不适用于属性占位符。使用 resolvePropertyPlaceholders 作为属性占位符

CamelContext 的 javadoc:http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContext.html

关于java - 从 java bean 获取 CamelContext 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406476/

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