我创建了一个Cache
对象,它存储 aString
作为键和一个序列化的对象作为值。
Cache(String--->Object)
我正在尝试运行三个 Akka 线程,它们以同步的方式检索和写入同一个 Ehcache 对象。
Thread 1- synchronized (LockForEhcache){
serializedObj = cachename.get("key"); //--- this returns an Object
}
//modify the serializedObj here....
//Again store the modify Object in the Cache
synchronized (LockForEhcache){
cachename.clear();
cachename.put("key",serializedObj);
Thread 2- synchronized (LockForEhcache){
serializedObj = cachename.get("key"); //--- this returns null
}
Thread 3- synchronized (LockForEhcache){
serializedObj = cachename.get("key"); //--- this returns null
}
但只有一个线程获取存储在Cache
. 对于其余线程,它会抛出一个NullPointerException
. 我不知道为什么。