当前位置: 首页 > 知识库问答 >
问题:

远程Hazelcast Quartz JobStore引发ClassNotFoundException

郑和泰
2023-03-14

我正在使用此hazelcast quartz调度程序JobStore来调度后台作业。我正在使用:

  • 石英:2.2.3
  • Hazelcast:3.7.2(在默认配置的docker容器中运行)
  • Hazelcast客户端:3.7.2

在向hazelcast quartz调度程序添加新触发器时,我在hazelcast实例上遇到以下异常:

[3.7.2]com.hazelcast.map.impl.recordstore.ClassNotFoundException:tore.saveTriggerWrappertore.java:146HazelcastSerializationException:com.hazelcast.map.impl.recordstore.ClassNotFoundException:tore.putTriggerWrapper attore.java:741JavaDefaultSerializers$JavaScom.hazelcast.map.impl.recordstore.(JavaDefaultStore.set)attore.java:919StreamSerializerAcom.hazelcast.map.impl.operation.(StreamSerializerAdapter.java:46)atperation.java:44AbstractSerializationScom.hazelcast.spi.impl.operationservice.impl.Object(AbstractSerializationService.java:172)atcom.hazelcast.map.impl.record.Records.tryStoreIntoCache(Records.java:149)atcom.hazelcast.map.impl.record.Records.getValueOrCachedValue(Records.java:118)atjava.lang.AbstractRecordScom.bikeemotion.quartz.jobstore.hazelcast.Index(AbstractRecordScom.hazelcast.nio.serialization.)atjava.lang.DefaultRecordScom.bikeemotion.quartz.jobstore.hazelcast.内部(DefaultRecordScom.hazelcast.internal.serialization.impl.)aterializer.readDefaultRecordSerializers.java:224(DefaultRecordScom.hazelcast.internal.serialization.impl.)atdapter.readSetOcom.hazelcast.internal.serialization.impl.)atervice.toOPationRunnerImp. run(OPationRunnerImp. java: 181)at com. hazelcast. spi. impl由:java. lang引起的操作线程.进程(操作线程. java: 127)。操作线程. run(操作线程. java: 102)由:java. lang引起。ClassNotFoundException:com. bikeemo. Quartz. jomobore. hazelcast。java. net上的触发器包装器。java. net上的URLClassLoader1 Dollar. run(URLClassLoader. java: 366)。java. security上的URLClassLoader1 Dollar. run(URLClassLoader. java: 355)。java. net上的AccessController. doPrivileged(本机方法)。java. lang上的URLClassLoader. findClass(URLClassLoader. java: 354)。sun. misc上的ClassLoader. loadClass(ClassLoader. java: 425)

你有什么想法吗?我真的不想让hazelcast实例知道hazelcast jobstore包。应该能够存储触发器,而无需在hazelcast实例上对其进行反序列化。

共有1个答案

黄景胜
2023-03-14

@菲利普·维比,请看https://github.com/FlavioF/quartz-scheduler-hazelcast-jobstore/blob/master/src/main/java/com/bikeemotion/quartz/jobstore/hazelcast/HazelcastJobStore.java#L116

triggersByKey在本例中的属性和方法上有一个索引。这就是节点尝试创建索引的原因

注意:HazelcastJobStore也有一个自定义谓词,这也需要对成员可用:https://github.com/FlavioF/quartz-scheduler-hazelcast-jobstore/blob/master/src/main/java/com/bikeemotion/quartz/jobstore/hazelcast/HazelcastJobStore.java#L1259

 类似资料:
  • 问题内容: 我想以编程方式从Java程序启动Maven发行版。该网页显示了一般的操作方法。这就是我所做的: 该论坛建议“在发布之前,请先查看一下表格,您就应该能够提出cURL请求”,这就是我所做的。发行至少开始。 我现在不知道如何逃避一切。浏览器将空格显示为“ +”,但是如果我以这种方式发送数据,它将无法正常工作。实际上,“”,“ +”或“%20”都不用作空格。 我仍然可以进入构建,因此我可以肯定

  • 问题内容: 我正在尝试从集线器到节点运行一个简单的代码,集线器和节点连接成功。 执行程序时出现异常 我提到的Chrome驱动程序路径是可以从节点计算机访问的共享路径。 Chrome版本:58.0.3029.110 Chrome驱动程序版本:2.9 集线器和节点都是远程计算机。 下面是使用的代码: 下面是控制台消息: 问题答案: 这是您问题的答案: 当您使用以下命令启动 Selenium Grid

  • 我有一个无状态bean 我已经在带有@remote注释的界面的glassfish上部署了这个功能 客户端代码: 错误为:java.lang.NullPointerException(位于com.sun.Enterprise.Naming.Impl.SerialContext.GetOrb(位于com.sun.Enterprise.Naming.Impl.SerialContext.GetProvi

  • 我已经将我的依赖项更改为导入com.android.support: appcompat-v7:23.0.1和com.android.support: design: 23.0.1,但它没有修复错误。youtube片段显示:“初始化YouTube播放器时发生错误” E/YouTubeAndroidPlayerAPI:创建YouTubePlayerView com时出错。谷歌。Androidyout

  • 我试图通过在提交钩子中使用这个URL来触发我的Jenkins项目 而且不会被触发。但当我在web浏览器中键入此URL时,它会触发我的生成。 当我在命令提示符下尝试时,出现了一个错误 错误404 谁能告诉我我做错了什么??

  • 本文向大家介绍Vue如何引入远程JS文件,包括了Vue如何引入远程JS文件的使用技巧和注意事项,需要的朋友参考一下 问题 最近在使用 Vue 做东西,用到钉钉扫描登录的功能,这里需要引入远程的 js 文件,因为 Vue 的方式跟之前的不太一样,又不想把文件下载到本地应用,找了一下解决的方法,貌似都需要引入第三方的库,最后找到了解决方案,分享之。 思路 一开始的思路是在 Vue 加载完 Dom 之后