2017-05-08 131 views
1

我想獲取一組存儲在Hazelcast地圖中的對象字段的不同值。 此行的Java代碼:Hazelcast供應商和聚合提供了併發執行異常

instructions.aggregate(Supplier.all(value -> value.getWorkArea()), Aggregations.distinctValues()); 

具有以下堆棧跟蹤:

java.util.concurrent.ExecutionException: com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.example.instruction.repository.HazelcastInstructionRepository$GeneratedEvaluationClass 
com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.example.instruction.repository.HazelcastInstructionRepository$GeneratedEvaluationClass 
java.lang.ClassNotFoundException: com.example.instruction.repository.HazelcastInstructionRepository$GeneratedEvaluationClass 

如果我嘗試這條線:

instructions.aggregate(Supplier.all()), Aggregations.distinctValues()); 

或:

instructions.aggregate (Supplier.fromPredicate(Predicates.and)(Predicates.equal(「type」,「someType」),equal(「groupId」,null), Predicates.equal(「workArea」,「someWorkArea」))),Aggregations.distinctValues());

它只是起作用......當我對對象的字段進行引用時,它似乎出錯了。 (我也嘗試過與對象的其他字段,並返回相同的錯誤)

這是在我的本地環境上運行,我確信這些對象被正確放置在Hazelcast地圖中,因爲其他聚合/謂詞在工作中。

你對我做錯了什麼有什麼想法嗎?

非常感謝!

回答