1
私はプレーフレームワークアプリケーションを持っています。私は静的メソッドを介してキャッシュにアクセスしようとしています。私はシングルトンにキャッシュをラップすることに決めましたが、CacheSingletonクラスのキャッシュ変数にアクセスしようとするとNullPointerExceptionが発生します。どのように問題を解決することができますか?ありがとう。Play Framework CacheApi注入はシングルレーンでNullPointeerExceptionを返します
import javax.inject.*;
import play.cache.*;
@Singleton
public final class CacheSingleton {
@Inject CacheApi cache;
private static volatile CacheSingleton instance = null;
private CacheSingleton() {
}
public static CacheSingleton getInstance() {
if (instance == null) {
synchronized(CacheSingleton.class) {
if (instance == null) {
instance = new CacheSingleton();
}
}
}
return instance;
}
}
public class CustomLabels {
public static String get() {
CacheSingleton tmp = CacheSingleton.getInstance();
try
{
tmp.cache.set("key", "value");
}catch(Exception e){}
}
}