我在多个应用上共享了一个属性文件。要在一个应用程序中访问此属性,我使用此标记:
<context:property-placeholder location="classpath:br/com/empresa/configuracao/mule-apps.properties"/>
在几个Mule组件上,比如数据库属性连接,我使用以下表达式来访问属性,p.e。:${db.user}
。它有效!
但是在Java Transformer上,我如何访问属性?
我尝试了以下说明,但返回了null
:
System.getProperty("db.user");
message.getInboundProperty("db.user");
message.getOutboundProperty("db.user");
message.getInvocationProperty("db.user");
有没有办法将属性访问到Mule Java Transformer?
答案 0 :(得分:2)
这里的组件已回答了这个问题:How to get property from context property placeholder tag inside custom java component完全相同的逻辑适用于变形金刚。
使用属性注入:
<custom-transformer class="org.myCompany.CustomTransformer">
<property name="dbUser" value="${db.user}" />
</custom-transformer>
不要忘记在自定义组件上添加setDbUser
!
答案 1 :(得分:2)
您可以使用旧方法检索属性:
@Value("${db.user")
private String dbUser;