Рассмотрите ситуацию, когда у нас есть контроллер с двумя методами действий, которые используют одно и то же поле контроллера. Это поле должно быть лениво инициализировано.Синхронизация поля в игре! Контроллеры
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? Считайте, что ресурс должен быть ленивым инициализирован.
Спасибо, Адриан