quartz-scheduler-hazelcast-jobstore | An implementation of a Quartz Scheduler JobStore | Job Scheduling library
kandi X-RAY | quartz-scheduler-hazelcast-jobstore Summary
kandi X-RAY | quartz-scheduler-hazelcast-jobstore Summary
Quartz-Scheduler Hazelcast Job Store
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Called when a job has completed
- Removes a trigger
- Removes the given job from the registry
- Get the list of trigger wrappers for a given job
- Returns the paused jobs that match the given group of jobs
- Pause a job
- Pauses a trigger
- Get the set of jobs that match the given group name
- Acquire the next triggers
- Releases an acquired trigger
- Updates the misfire policy
- Retrieves the list of jobs that match the given matcher
- Resume a trigger
- Resumes the given job
- Gets the trigger state for the given trigger key
- Converts the given state to a TriggerState
- Clear all scheduled job data
- Initialize Hazelcast Job Store
- Retrieves the triggers associated with the given list of triggers
- Removes a calendar with the given name
- Stores the specified jobs and triggers
quartz-scheduler-hazelcast-jobstore Key Features
quartz-scheduler-hazelcast-jobstore Examples and Code Snippets
Community Discussions
Trending Discussions on quartz-scheduler-hazelcast-jobstore
QUESTION
Not seeing the Map/MultiMap data on the Hazelcast Management Center. My environment consists of:
- Remote Hazelcast: 3.7.2
- Hazelcast Management Console: 3.7.2
- Hazelcast client: 3.7.2
I am using Hazelcast Maps indirectly using quartz
and the quartz-scheduler-hazelcast-jobstore. I created one trigger so there is some information that is added to the Maps.
I have verified that the connection is made to remote hazelcast its connection to the management console, as I can see the Members tab populated, as well as the Topics tab from other data in my app.
Any ideas as to why the maps are not shown?
Not a lot of logging happening, but this is what the client shows:
...2018-02-02T15:55:23.745-0500 | | INFO | RMI TCP Connection(2)-127.0.0.1 | com.hazelcast.core.LifecycleService | XMHZClient [dev] [3.7.2] HazelcastClient 3.7.2 (20161004 - 540b01c) is STARTING 2018-02-02T15:55:24.29-0500 | | INFO | RMI TCP Connection(2)-127.0.0.1 | com.hazelcast.core.LifecycleService | XMHZClient [dev] [3.7.2] HazelcastClient 3.7.2 (20161004 - 540b01c) is STARTED 2018-02-02T15:55:24.130-0500 | | INFO | XMHZClient.event-3 | com.hazelcast.client.spi.impl.ClientMembershipListener | XMHZClient [dev] [3.7.2]
Members 1 { Member [172.17.0.3]:5701 - b79ad451-02f2-43d4-8b66-ca91fbd677e1 }
2018-02-02T15:55:24.132-0500 | | INFO | XMHZClient.user-1 | com.hazelcast.core.LifecycleService | XMHZClient [dev] [3.7.2] HazelcastClient 3.7.2 (20161004 - 540b01c) is CLIENT_CONNECTED
ANSWER
Answered 2018-Feb-04 at 07:31@PhilipWiebe, since you see a lot of topics in ManCenter, I believe you're hitting the limit of reported objects. By default, each Hazelcast node only reports 100 object statistics. You need to set hazelcast.mc.max.visible.instance.count
parameter on each Hazelcast node to a value greater than your total dist. objects count. This behavior is changing in upcoming 3.9.3 release.
QUESTION
I'm using this hazelcast quartz scheduler JobStore for scheduling background jobs. I am using:
- quartz: 2.2.3
- Hazelcast: 3.7.2 (running in a docker container with default configuration)
- Hazelcast-client: 3.7.2
When adding a new trigger to the hazelcast-quartz scheduler, I get the following exception on the hazelcast instance:
[3.7.2] java.lang.ClassNotFoundException: com.bikeemotion.quartz.jobstore.hazelcast.TriggerWrapper com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.bikeemotion.quartz.jobstore.hazelcast.TriggerWrapper at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:224) at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:46) at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:172) at com.hazelcast.map.impl.record.Records.tryStoreIntoCache(Records.java:149) at com.hazelcast.map.impl.record.Records.getValueOrCachedValue(Records.java:118) at com.hazelcast.map.impl.recordstore.AbstractRecordStore.saveIndex(AbstractRecordStore.java:146) at com.hazelcast.map.impl.recordstore.DefaultRecordStore.putInternal(DefaultRecordStore.java:741) at com.hazelcast.map.impl.recordstore.DefaultRecordStore.set(DefaultRecordStore.java:919) at com.hazelcast.map.impl.operation.SetOperation.run(SetOperation.java:44) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181) at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:375) at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:402) at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:283) at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:268) at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:232) at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:207) at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:59) at com.hazelcast.client.impl.protocol.task.AbstractPartitionMessageTask.processMessage(AbstractPartitionMessageTask.java:64) at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.initializeAndProcessMessage(AbstractMessageTask.java:119) at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.run(AbstractMessageTask.java:99) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:137) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:127) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102) Caused by: java.lang.ClassNotFoundException: com.bikeemotion.quartz.jobstore.hazelcast.TriggerWrapper at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:151) at com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:120) at com.hazelcast.nio.IOUtil$ClassLoaderAwareObjectInputStream.resolveClass(IOUtil.java:358) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1779) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:219) ... 22 more
Any thoughts on what could be the issue? I'd really hate to have to have the hazelcast instance be aware of the hazelcast jobstore package. Should be able to store the trigger without having to deserialize it on hazelcast instance.
...ANSWER
Answered 2018-Jan-31 at 23:47@philip-wiebe, please see https://github.com/FlavioF/quartz-scheduler-hazelcast-jobstore/blob/master/src/main/java/com/bikeemotion/quartz/jobstore/hazelcast/HazelcastJobStore.java#L116
triggersByKey
has an index on nextFireTime
property, method in this case. This is why node trying to create an index & tries to deserialize the data. You need to have quartz-scheduler-hazelcast-jobstore
and quartz
related classes in the member classpath as well.
Note: HazelcastJobStore
also have a custom predicate, this need to be available to the member as well: https://github.com/FlavioF/quartz-scheduler-hazelcast-jobstore/blob/master/src/main/java/com/bikeemotion/quartz/jobstore/hazelcast/HazelcastJobStore.java#L1259
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install quartz-scheduler-hazelcast-jobstore
You can use quartz-scheduler-hazelcast-jobstore like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the quartz-scheduler-hazelcast-jobstore component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page