3
私はキャメル2.17をスプリングで使っている初心者です。私は、Webサービスからエラーコードを受け取るプロセッサを持っていると私は現在、私は、プロパティインジェクションを使用して値myproject.errorCodeを読み取り、すべてのerrorCodeを解析していますapache camel + springでプロパティファイルの値を動的にロードする方法
myproject.errorCode=1001:error1 description, 1002:error2 description, 1003:....
のようなプロパティファイルにエラーの説明を設定し説明はうまくいきます。しかし、エラーコードリストは非常に巨大であり、単一のプロパティでそれを維持することは非常に困難です。だから私は
myproject.errorCode.1001=error1 description
myproject.errorCode.1002=error2 description
myproject.errorCode.1003=error3 description
.....
のような性質を分割したいと私は、この機能を実現するにはどうすればよい
String errorCodeRecieved = myWebService.getErrorCode();
String errorString = "myproject.errorCode.";
String errorDescription = something.getProperty(errorString + errorCodeRecieved);
のようなWebサービスから受信したエラーコードに応じて、私のプロセッサクラスのプロパティを読みたいです。事前のおかげで
やあ、おかげで応答。あなたのソリューションは正常に動作しています。しかし、問題はクラスパスにプロパティファイルを追加する必要があり、プロダクションでクラスパスの外にプロパティファイルを設定する必要があることです。私は自分のクラスパス外のファイルパスを指定する方法を見つけることができませんでした。 ** ResourceBundleMessageSource **にファイル名を設定する方法はありません。 – Shameer
あなたはReloadableResourceBundleMessageSourceというユーザーがいると思うかもしれませんが、おそらくあなたはその使用法に関する詳細情報を見つけることができます(https://stackoverflow.com/questions/9035588/dynamically-load-files-on-classpath-using-reloadableresourcebundlemessagesource) –
こんにちは、 @Panayiotis Poularakisあなたの再生のためにありがとう...うまく働いています..私のプロパティファイルのパス+ propertynameとしてベース名を設定...受け入れられた答えとしてマーク... – Shameer