私はマルチテナントのPlayFramework2.1アプリケーションの開発に取り組んでいます。GlobalSettingsクラスのonRequestメソッドをオーバーライドして、リクエストのサブドメインに基づいてカスタム構成をロードおよび設定する予定です。問題は、これがPlay2.xでどのように可能になるかわからないことです。
サーバーの起動時にコマンドラインでシステムプロパティを上書きできますが、リクエストごとにJavaコードでプログラムでこれを行うにはどうすればよいですか?
コードは次のようになります(私は推測します):
@Override
public play.mvc.Action onRequest(Request request, Method actionMethod) {
//Look up configuration settings in Cache based on request subdomain
//(i.e. Cache.get("subdomain.conf"))
//if not in cache:
//load appropriate configuration file for this subdomain (java.io.File)
//set new configuration from file for this request
//cache the configuration for future use in a new thread
//else
//set configuration from cache for this request
return super.onRequest(request, actionMethod);
}
}
URLの検索とキャッシュの取得/設定は簡単ですが、Play Framework 2.1の新しい構成をプログラムで設定する方法がわかりません。ドキュメントでは、このようなことについて少し説明しています。
何かご意見は?誰かがこれを行うためのより良い、より効率的な方法を知っていますか?