【问题标题】:How to access property from property file in java code( Mule ESB)如何在 Java 代码(Mule ESB)中从属性文件访问属性
【发布时间】:2020-01-20 10:14:09
【问题描述】:

我正在尝试从用 mule 编写的 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 3 还是 Mule 4 的问题?
  • @aled 它适用于 Mule 4

标签: mule esb


【解决方案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 模块的一部分,才能进行注入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    相关资源
    最近更新 更多