簡體   English   中英

Hazelcast 與 openjdk-15

[英]Hazelcast with openjdk-15

如何使用 java15 運行 hazelcast? 我正在使用 usercodedeployment,所以我需要在 java 15 中安裝我自己的類。現在我收到錯誤:

{"@timestamp":"2021-04-08T23:34:43.129+02:00","@version":"1","message":"Hazelcast nepripojen","logger_name":"org.my.data.HazelcastInstanceWrapper","thread_name":"main","level":"ERROR","level_value":40000,"stack_trace":"com.hazelcast.client.UndefinedErrorCodeException: Class name: java.lang.UnsupportedClassVersionError, Message: org/my/data/MyData has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0\n\tat java.lang.ClassLoader.defineClass1(Native Method)\n\tat java.lang.ClassLoader.defineClass(ClassLoader.java:1017)\n\tat java.lang.ClassLoader.defineClass(ClassLoader.java:878)\n\tat com.hazelcast.internal.usercodedeployment.impl.ClassSource.define(ClassSource.java:52)\n\tat com.hazelcast.internal.usercodedeployment.impl.ClassLocator.defineClassFromClient(ClassLocator.java:135)\n\tat com.hazelcast.internal.usercodedeployment.impl.ClassLocator.defineClassesFromClient(ClassLocator.java:107)\n\tat com.hazelcast.internal.usercodedeployment.UserCodeDeploymentService.defineClasses(UserCodeDeploymentService.java:74)\n\tat com.hazelcast.internal.usercodedeployment.impl.operation.DeployClassesOperation.run(DeployClassesOperation.java:49)\n\tat com.hazelcast.spi.impl.operationservice.Operation.call(Operation.java:184)\n\tat com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:256)\n\tat com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:237)\n\tat com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:452)\n\tat com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:166)\n\tat com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:136)\n\tat com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123)\n\tat com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102)\n","SERVERNAME":"rob-cache-8448d476d6-l9k2j"}

我檢查 hazelcast 是否支持這個版本,當我檢查官方dockerfile時,有 java11。 是否還有帶有 java 15 的版本,或者我需要使用 java 15 創建自己的 dockerfile?

正如您所提到的,官方 Docker 鏡像使用 Java 11。注意您的鏈接指向企業版,OSS 版本在這里

因為您的代碼是使用 Java 15 編譯的,所以服務器端的 Java 11 運行時無法執行它。

使用 Java 運行時 15+ 創建您自己的 Dockerfile 將解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM