Я работаю над разработкой мультитенантного приложения Play Framework 2.1. Я намерен переопределить метод onRequest класса GlobalSettings для загрузки и установки пользовательской конфигурации на основе поддомена запроса. Проблема в том, что я не понимаю, как это было бы возможно в Play 2.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, и документация немного освещает такие вещи.
Есть предположения? Кто-нибудь знает лучший, более эффективный способ сделать это?