我需要以语法方式设置全局属性。从功能上讲,它应该完全按照以下语句应该做的事情
<global-property name="host-name" value="localhost" doc:name="Global Property"/>
我相信我应该能够使用 ${host-name} 访问此属性。在这个特定的场景中,我不想从属性文件中加载属性。
我需要以语法方式设置全局属性。从功能上讲,它应该完全按照以下语句应该做的事情
<global-property name="host-name" value="localhost" doc:name="Global Property"/>
我相信我应该能够使用 ${host-name} 访问此属性。在这个特定的场景中,我不想从属性文件中加载属性。
如果您只想解析 ${host-name} 之类的占位符,您可以使用方法 resolvePlaceholder 的自定义实现扩展 Spring PropertyPlaceholderConfigurer 类,并将其添加为 Spring bean,如下所示:
<spring:beans>
<spring:bean id="myConfigurer" class="my.test.MyConfigurer"/>
</spring:beans>
然后调用您的自定义 resolvePlaceholder 来解析任何未解析的属性。
通过从消息 () 获取上下文或通过实现 MuleContextAware bean 在 Mule 上下文注册表中设置实际设置的属性也相当简单message.getMuleContext()
,但在这些情况下,当属性占位符出现时,该属性将不可用解决。
您可以像这样设置属性:
context.getRegistry().registerObject("myKey", "myVal")
然后像这样访问它:
context.getRegistry().get("myKey")