我想用IMap.executeOnKey方法执行超类型AbstractEntryProcessor(让我们说SomeEntryProcessor)的实例。 服务器端ClassLoader没有此类(SomeEntryProcessor)。 所以它预计将失败:
java.lang.ClassNotFoundException: com.package.SomeEntryProcessor
com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.package.SomeEntryProcessor
at com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(DefaultSerializers.java:190) ~[hazelcast-3.2.3.jar:3.2.3]
at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:40) ~[hazelcast-3.2.3.jar:3.2.3]
at com.hazelcast.nio.serialization.SerializationServiceImpl.readObject(SerializationServiceImpl.java:279) ~[hazelcast-3.2.3.jar:3.2.3]
at com.hazelcast.nio.serialization.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:433) ~[hazelcast-3.2.3.jar:3.2.3]
at com.hazelcast.map.client.MapExecuteOnKeyRequest.read(MapExecuteOnKeyRequest.java:88) ~[hazelcast-3.2.3.jar:3.2.3]
但是在此executeOnKey永远挂起之后。 我相信这是因为方法
中的无限等待ClientCallFuture.get(long timeout, TimeUnit unit) {
...
this.wait(waitMillis); // line 103 in hazelcast 3.2.3
}
有没有人见过同样的人? 创建了问题https://github.com/hazelcast/hazelcast/issues/3842,但未收到回复
答案 0 :(得分:0)
抱歉不知怎的错过了这个问题。你能试试3.3.x版本吗?我想这个版本的问题已得到修复。