2014-03-04 23 views
1

我一直在使用hazelcast和OSGI(equinox)來解決類加載問題,我希望已經使用Version 3.2-RC1(ClassLoaderUtil)修復了這個問題。hazecast-client不再支持OSGI 3.1.6

我現在的問題是,從版本3.1.6開始,hazelcast-client工件的清單不再包含任何捆綁信息,與3.2-RC1一樣。

我在問題跟蹤器中找不到任何理由,所以我想這是一個錯誤?

我用3.2-RC1的集羣節點的解決方法在客戶端的3.1.5(其中我沒有類加載問題)不工作,我得到這個異常:

15:54:41.002 ERROR [hz.node1.cached.thread-1  ] ClientEngine - [127.0.0.1]:5701 [dev] [3.2-RC1] Unknown field name: 'cId' for ClassDefinition {id: 2, version: 0} 
com.hazelcast.nio.serialization.HazelcastSerializationException: Unknown field name: 'cId' for ClassDefinition {id: 2, version: 0} 
    at com.hazelcast.nio.serialization.DefaultPortableReader.throwUnknownFieldException(DefaultPortableReader.java:226) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.nio.serialization.DefaultPortableReader.getPosition(DefaultPortableReader.java:269) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.nio.serialization.DefaultPortableReader.readInt(DefaultPortableReader.java:71) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.client.ClientRequest.readPortable(ClientRequest.java:85) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:99) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:29) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:59) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(SerializationServiceImpl.java:221) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.client.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:349) ~[hazelcast-3.2-RC1.jar:3.2-RC1] 
    at com.hazelcast.util.executor.ManagedExecutorService$Worker.run(ManagedExecutorService.java:178) [hazelcast-3.2-RC1.jar:3.2-RC1] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45] 
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45] 
    at com.hazelcast.util.executor.PoolExecutorThreadFactory$ManagedThread.run(PoolExecutorThreadFactory.java:59) [hazelcast-3.2-RC1.jar:3.2-RC1] 

回答

2

說得沒錯,hazelcast-client.jar似乎沒有包信息。我正在考慮修復它,正如彼得所說的3.2。

Chris

+0

發現問題並推送了3.2和3.1.7分支的PR。 https://github.com/hazelcast/hazelcast/pull/1919 https://github.com/hazelcast/hazelcast/pull/1921 – noctarius

0

客戶端版本需要與服務器版本完全相同。所以你不能將3.1.5客戶端與3.2-RC1服務器組合在一起。

如果沒有與清單文件的問題,請在這裏開出罰單:

https://github.com/hazelcast/hazelcast/issues

,我們會得到,如果固定在3.2版本之前。