同じコントローラーフィールドを使用する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を使用して共通リソースを同期するためのより良い方法は何ですか?リソースは遅延初期化する必要があることを考慮してください。
ありがとう、エイドリアン