如何从Java代码(Mule ESB)中的属性文件访问属性

问题描述 投票:2回答:1

我正在尝试从用m子编写的Java代码的属性文件中获取属性。

Class Example {
@NotBlank("message" = "${prop1}")
String key1;
String key2;
}

prop1是存储在属性文件中的属性

prop1 = " 001 | key1 cannot be blank"

我希望将prop1解析为001 | key1 cannot be blank${propname}不起作用。我无法使用值注释,因为我想在消息中保存属性的值。

mule esb
1个回答
1
投票

最好的方法是不依赖于任何Mule特定代码,并且像对待其他任何参数一样处理该属性,只需将其作为参数传递即可。因此,当实例化或调用某个方法时,只需在Mule端传递属性:

<java:new class="com.me.Person" constructor="Person(String, Integer)">
    <java:args>#[{
      name: Mule::p('prop1'),
      age: 30
    }]</java:args>
</java:new>

否则,您将取决于Java代码的加载方式,因为您需要注入ConfigurationProperties实例并使用它来解析属性:

  @Inject
  private ConfigurationProperties configurationProperties;

  String getProperty(String name) {
     return configurationProperties.resolveStringProperty(name).orElse(null);
  }

这意味着您的Java代码必须是SDK模块的一部分,以便进行注入。

© www.soinside.com 2019 - 2024. All rights reserved.