如何访问属性到Mule Java Transformer

时间:2016-02-15 14:10:26

标签: mule mule-component anypoint-studio

我在多个应用上共享了一个属性文件。要在一个应用程序中访问此属性,我使用此标记:

<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?

2 个答案:

答案 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;