考虑一种情况,当我们有一个具有 2 个使用相同控制器字段的操作方法的控制器时。该字段应该被延迟初始化。
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 同步公共资源的更好方法是什么?考虑到资源应该是惰性初始化的。
谢谢,阿德里安