未找到类在群集环境中的openfire中的Hazelcast插件中出现异常

时间:2015-04-16 06:55:01

标签: cluster-computing classnotfoundexception openfire hazelcast

我在3 EC2实例中安装了openfire,并在所有三个中添加了hazelcast插件。所有三个节点都工作正常。但有一段时间我在stderror日志中得到此异常,请帮我确定为什么会发生此异常以及如何避免此错误日志? ? ?

Apr 15, 2015 12:16:18 PM com.hazelcast.spi.OperationService
SEVERE: [172.31.22.121]:5701 [openfire] java.lang.ClassNotFoundException: com.jivesoftware.util.cache.ClusteredCacheFactory$CallableTask
com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.jivesoftware.util.cache.ClusteredCacheFactory$CallableTask
  at com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(Defaul tSerializers.java:190)
  at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAd apter.java:40)
  at com.hazelcast.nio.serialization.SerializationServiceImpl.readObject(Serializati onServiceImpl.java:276)
  at com.hazelcast.nio.serialization.ByteArrayObjectDataInput.readObject(ByteArrayOb jectDataInput.java:431)
  at com.hazelcast.executor.BaseCallableTaskOperation.readInternal(BaseCallableTaskO peration.java:91)
  at com.hazelcast.spi.Operation.readData(Operation.java:295)
  at com.hazelcast.nio.serialization.DataSerializer.read(DataSerializer.java:105)
  at com.hazelcast.nio.serialization.DataSerializer.read(DataSerializer.java:36)
  at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAd apter.java:59)
  at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(Serialization ServiceImpl.java:218)
  at com.hazelcast.spi.impl.NodeEngineImpl.toObject(NodeEngineImpl.java:156)
  at com.hazelcast.spi.impl.OperationServiceImpl$RemoteOperationProcessor.run(Operat ionServiceImpl.java:724)
  at com.hazelcast.util.executor.ManagedExecutorService$Worker.run(ManagedExecutorSe rvice.java:166)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:745)
  at com.hazelcast.util.executor.PoolExecutorThreadFactory$ManagedThread.run(PoolExe cutorThreadFactory.java:59)
Caused by: java.lang.ClassNotFoundException: com.jivesoftware.util.cache.ClusteredCacheFactory$CallableTask
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  at com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:83)
  at com.hazelcast.nio.IOUtil$1.resolveClass(IOUtil.java:77)
  at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
  at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
  at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
  at com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(Defaul tSerializers.java:185)
  ... 16 more

1 个答案:

答案 0 :(得分:0)

您似乎必须在Hazelcast群集中部署一些openfire jar。出于安全原因,Hazelcast不提供远程类加载(否则每个人都可以注入所有内容)。