Grailsアプリケーションが起動すると、バックグラウンドでSpring IntegrationとBatchプロセスも開始されます。私はいくつかのDB接続プロパティをConfig.groovyファイルに保存したいと思いますが、統合/バッチ処理で使用されるJavaクラスからどのようにアクセスしますか?JavaクラスのConfig.groovyにアクセス
私はこのスレッドが見つかりました:
Converting Java -> Grails ... How do I load these properties?
使用することを提案している:のようなものが続く
private Map config = ConfigurationHolder.getFlatConfig();
:
String driver = (String) config.get("jdbc.driver");
これは実際には正常に動作します(TEHプロパティがロードされていますConfig.groovyから正しく)、問題はtですhat ConfigurationHolderは廃止された後です。そして、私は問題を扱う発見したいずれかのスレッドがGrailsの-特異的であり、このスレッドのように、依存性の注入を使用することをお勧めしているようだ:
How to access Grails configuration in Grails 2.0?
のでへのアクセスを得るために非推奨されない方法がありますJavaクラスファイルのConfig.groovyプロパティ
リンク先の質問の[受け入れられた回答](http://stackoverflow.com/a/7136095/6509)の2番目の方法で何が問題になっていますか? –
こんにちはTim、返信のための歓声。私は、リソースファイル(grailsApplicationのプロパティとgrailsApplicationのrefを持つ)をBeanとしてJavaクラスに入れ、クラスに次の行を追加しました:private GrailsApplication grailsApplication;ゲッターとセッターで。しかし、ConfigObject経由でアクセスしようとするとconfig = grailsApplication.getConfig();それはnullとエラーが出ているようです。私が間違っていることは何ですか?ありがとう – Illu
どこにアクセスしようとしていますか?たとえば、 '@ PostConstruct'で注釈を付けられたメソッドを宣言し、その代わりに' grailsApplication'を必要とするロジックを置くか、代わりにコンストラクタ引数の注入を使う必要があります。セッター注入。 –