Рассмотрим ситуацию, когда у нас есть контроллер с двумя методами действия, которые используют одно и то же поле контроллера. Это поле должно быть лениво инициализировано.
public class SomeController extends Controller {
private static volatile Resource resource;
private static Resource getResource() {
if (resource == null) {
synchronized (SomeController.class) {
if (resource == null) {
resource = new Resource();
}
}
}
return resource;
}
public static void action1() {
getResource().doSomeAction();
}
public static void action2() {
getResource().doSomeAnotherAction();
}
}
Как лучше синхронизировать общие ресурсы с помощью Play Framework? Считайте, что ресурс должен быть ленивым инициализирован.
Спасибо,
Адриан