Mule フローで次のように宣言できます。Spring Bean は必要ありません。
<context:property-placeholder location="classpath:yourpropertFileName.properties"/>
サーバーの起動/再起動後に一度だけ読み取られます
アップデート
という名前のプロパティ ファイルがあり、そのyourpropertFileName.properties
中に次のキーと値を定義したとします。
message1=This is message1 value
message2=This is message2 value
これで、次のように Mule Flow で使用できます:-
<logger message="${message1}" level="INFO" />
<logger message="${message2}" level="INFO" />
ご覧のとおり、プロパティ ファイルからキーと値を読み取り、それを Mule Config ファイルのロガーで使用しました。同様に、必要な任意の Mule コンポーネントでプロパティ ファイルのキーを使用できます。
更新:-
プロパティ ファイルから値を読み取る Java クラスのサンプルを次に示します。要件に応じて変更できます:-
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.mule.api.MuleMessage;
import org.mule.api.transformer.TransformerException;
import org.mule.transformer.AbstractMessageTransformer;
public class SampleJavaClass extends AbstractMessageTransformer {
Properties prop = new Properties(); //Creating property file object read File attachment path from property file
InputStream input = null; // To read property file path
@Override
public Object transformMessage(MuleMessage message, String outputEncoding)
throws TransformerException {
try {
input = getClass().getResourceAsStream("yourpropertFileName.properties"); // Property file path in classpath
prop.load(input); // get and load the property file
String msg1=prop.getProperty("message1");
String msg2=prop.getProperty("message2");
System.out.println("Key1 from Prop file "+msg1);
System.out.println("Key2 from Prop file "+msg2);
} catch (IOException e)
{
e.printStackTrace();
}
return message;
}
}