All Projects → FlavioF → quartz-scheduler-hazelcast-jobstore

FlavioF / quartz-scheduler-hazelcast-jobstore

Licence: other
An implementation of a Quartz Scheduler JobStore using Hazelcast distributed Collections

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to quartz-scheduler-hazelcast-jobstore

realtimemap-dotnet
A showcase for Proto.Actor - an ultra-fast distributed actors solution for Go, C#, and Java/Kotlin.
Stars: ✭ 47 (+11.9%)
Mutual labels:  distributed-systems, clustering
ex united
Easily spawn Elixir nodes (supervising, Mix configured, easy asserted / refuted) within ExUnit tests
Stars: ✭ 40 (-4.76%)
Mutual labels:  distributed-systems, clustering
moqui-hazelcast
Moqui Framework tool component for Hazelcast, used for distributed async services, entity distributed cache invalidation, web session replication, and distributed cache (javax.cache)
Stars: ✭ 12 (-71.43%)
Mutual labels:  distributed-systems, hazelcast
IntroduceToEclicpseVert.x
This repository contains the code of Vert.x examples contained in my articles published on platforms such as kodcu.com, medium, dzone. How to run each example is described in its readme file.
Stars: ✭ 27 (-35.71%)
Mutual labels:  clustering, hazelcast
Dagsfm
Distributed and Graph-based Structure from Motion
Stars: ✭ 269 (+540.48%)
Mutual labels:  distributed-systems, clustering
elixir cluster
Distributed Elixir Cluster on Render with libcluster and Mix Releases
Stars: ✭ 15 (-64.29%)
Mutual labels:  distributed-systems, clustering
protoactor-go
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Stars: ✭ 4,138 (+9752.38%)
Mutual labels:  distributed-systems, clustering
Hazelcast
Open-source distributed computation and storage platform
Stars: ✭ 4,662 (+11000%)
Mutual labels:  distributed-systems, hazelcast
Protoactor Dotnet
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Stars: ✭ 1,070 (+2447.62%)
Mutual labels:  distributed-systems, clustering
hazelcast-csharp-client
Hazelcast .NET Client
Stars: ✭ 98 (+133.33%)
Mutual labels:  clustering, hazelcast
gouda
Golang Utilities for Data Analysis
Stars: ✭ 18 (-57.14%)
Mutual labels:  clustering
st dbscan
ST-DBSCAN: Simple and effective tool for spatial-temporal clustering
Stars: ✭ 82 (+95.24%)
Mutual labels:  clustering
aether
Distributed system emulation in Common Lisp
Stars: ✭ 19 (-54.76%)
Mutual labels:  distributed-systems
nbodykit
Analysis kit for large-scale structure datasets, the massively parallel way
Stars: ✭ 93 (+121.43%)
Mutual labels:  clustering
teanaps
자연어 처리와 텍스트 분석을 위한 오픈소스 파이썬 라이브러리 입니다.
Stars: ✭ 91 (+116.67%)
Mutual labels:  clustering
VOSviewer-Online
VOSviewer Online is a tool for network visualization. It is a web-based version of VOSviewer, a popular tool for constructing and visualizing bibliometric networks.
Stars: ✭ 44 (+4.76%)
Mutual labels:  clustering
ClusterTransformer
Topic clustering library built on Transformer embeddings and cosine similarity metrics.Compatible with all BERT base transformers from huggingface.
Stars: ✭ 36 (-14.29%)
Mutual labels:  clustering
js-markerclusterer
Create and manage clusters for large amounts of markers
Stars: ✭ 92 (+119.05%)
Mutual labels:  clustering
FSDA
Flexible Statistics and Data Analysis (FSDA) extends MATLAB for a robust analysis of data sets affected by different sources of heterogeneity. It is open source software licensed under the European Union Public Licence (EUPL). FSDA is a joint project by the University of Parma and the Joint Research Centre of the European Commission.
Stars: ✭ 53 (+26.19%)
Mutual labels:  clustering
TrajSuite
TrajSuite is a cross-platform Java application that provides a suite of trajectory data-mining and visualisation features.
Stars: ✭ 15 (-64.29%)
Mutual labels:  clustering

Quartz-Scheduler Hazelcast Job Store Build Status

An implementation of a Quartz Scheduler Job Store using Hazelcast distributed Maps and Sets.

This implementation is based on Ameausoone/quartz-hazelcast-jobstore.

About Quartz

Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may execute virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as support for JTA transactions and clustering.

Job Stores in Quartz

JobStore's are responsible for keeping track of all the "work data" that you give to the scheduler: jobs, triggers, calendars, etc. Selecting the appropriate JobStore for your Quartz scheduler instance is an important step. Luckily, the choice should be a very easy one once you understand the differences between them. You declare which JobStore your scheduler should use (and it's configuration settings) in the properties file (or object) that you provide to the SchedulerFactory that you use to produce your scheduler instance.

Read More

About Hazelcast

Hazelcast is an in-memory open source software data grid based on Java. By having multiple nodes form a cluster, data is evenly distributed among the nodes. This allows for horizontal scaling both in terms of available storage space and processing power. Backups are also distributed in a similar fashion to other nodes, based on configuration, thereby protecting against single node failure.

Read More

Adding Dependency

<dependency>
    <groupId>com.bikeemotion</groupId>
    <artifactId>quartz-hazelcast-jobstore</artifactId>
    <version>1.0.4</version>
</dependency>

Clustering

When using Hazelcast Job Store we rely on Hazelcast to provide a Cluster where our jobs are stored. This way we can easily have a cluster of Quartz Scheduler instances that share the same data.

Persisting Data

Note that you can use Hazelcast MapStores to store all the data in your in-memory Maps in a datastore like Cassandra, Elasticsearch, PostgreSQL, etc (synchronously or asynchronously). Learn more about it here.

Testing it

Pre-requisites

  • JDK 8 or newer
  • Maven 3.1.0 or newer

Clone

git clone https://github.com/FlavioF/quartz-scheduler-hazelcast-jobstore.git
cd quartz-scheduler-hazelcast-jobstore

Build

mvn clean install

How to Use HazelcastJobStore with Quartz

// Setting Hazelcast Instance
HazelcastJobStore.setHazelcastClient(hazelcastInstance);

// Setting Hazelcast Job Store
Properties props = new Properties();
props.setProperty(StdSchedulerFactory.PROP_JOB_STORE_CLASS, HazelcastJobStore.class.getName());

StdSchedulerFactory scheduler = new StdSchedulerFactory(props).getScheduler();

// Starting Scheduler
scheduler.start();

// Scheduling job
JobDetail job = JobBuilder.newJob(jobClass).withIdentity(jobName, grouName).build();
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(triggerName, triggerGroup).forJob(job).startAt(new Date(startAt)).build();

scheduler.scheduleJob(job, trigger);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].