Лучший подход для этого - не зависеть от какого-либо кода, заданного Mule c, и работать со свойством так же, как с любым другим аргументом, просто передавая его в качестве параметра. Поэтому, когда вы создаете экземпляр или вызываете определенный метод, вы просто передаете свойство на стороне 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, чтобы выполнить внедрение.