我們使用hazelcast作爲分佈式緩存。應用程序運行一段時間後,我們開始在類加載中阻塞。以下是堆棧跟蹤:鎖定在類加載,而quering hazelcast
java.lang.Thread.State中:BLOCKED(對象監視器上)在java.lang.ClassLoader.loadClass(ClassLoader.java:404) - 鎖定< 0x00002acaac4c4718>(一個java.lang中.Object)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:在com.hazelcast.nio處com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:97)處使用java.io.ObjectInputStream.readNonProxyDesc處的$ 1.resolveClass(IOUtil.java:113)(ObjectInputStream.java: 1613)在java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)位於java.io.ObjectInputStream.re位於java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1351)上的java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) :1918)在java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)在java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)在java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)在玉米.hazelcast.nio.serialization.DefaultSerializers $ ObjectSerializer.read(DefaultSerializers.java:196)at com.hazelcast.nio.serialization.StreamSerializerAdapter.toObject(StreamSerializerAdapter.java:65)at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject (SerializationServiceImpl.java:260)在com.hazelcast.spi.impl.NodeEngineImpl.toObject(NodeEngineImpl.java:186)在com.hazelcast.map.impl.AbstractMa pServiceContextSupport.toObject(AbstractMapServiceContextSupport.java:42)在com.hazelcast.map.impl.DefaultMapServiceContext.toObject(DefaultMapServiceContext.java:28)在com.hazelcast.map.impl.proxy.MapProxySupport.toObject(MapProxySupport.java:1038) at com.hazelcast.map.impl.proxy.MapProxyImpl.get(MapProxyImpl.java:84)
Hazelcast每次對對象進行反序列化時都會加載該類。我不知道爲什麼每次都需要類加載。
有人可以請幫助。
你是如何解決這個問題的? – Dinesh