Skip to content

conapi-stefan/plugin-jms

 
 

Repository files navigation

Kestra workflow orchestrator

Event-Driven Declarative Orchestrator

Last Version License Github star
Kestra infinitely scalable orchestration and scheduling platform Slack

twitter linkedin youtube


Get started in 4 minutes with Kestra

Get started with Kestra in 4 minutes.

Kestra JMS Plugin

Java Message Service support for Kestra

This repository contains a set of plugins to use JMS with your Kestra flows. The goal if this plugin is to remain as generic as possible and stick with the JMS standard APIs. The plugin should work with any JMS 1.x compliant implementation.

Even older client versions using javax.jms instead of jakarta.jms are supported. The compatibility is ensured using the CONAPI JMS-adapter.

The generic approach requires you to provide the JMS client libraries with your deployment. The most convenient (default) way is to put the JAR files in a sub folder of your Kestra plugins folder called 'jms-libs'. Alternatively you can specify the jar file location as part of the trigger/task configuration.

Configuration examples are provided in the test/resources flows location.

For simple testing of the plugin, we highly recommend [Message Manager] (https://conapi.at/message-manager/)

NOTE: As a Kestra user you get a free 12 months Professional license of Message Manager. Use the contact form on the conapi website.

There are also some blogs with instructions and a video demo available:

This repository contains three different plugins:

Real Time Trigger

Can be used to start a new flow execution whenever a JMS message is received.

JMS Consumer

Can be used at task level inside a flow to consume/receive JMS messages.

JMS Producer

Can be used at task level inside a flow to send a JMS messages to a queue or a topic.

Running the project in local

Prerequisites

  • Java 21
  • Docker

Running tests

Ensure you have ActiveMQ Artemis running. You can use the provided docker-compose-ci.yml:

docker-compose -f docker-compose-ci.yml up -d
./gradlew check --parallel

Development

VSCode:

Follow the README.md within the .devcontainer folder for a quick and easy way to get up and running with developing plugins if you are using VSCode.

Other IDEs:

./gradlew shadowJar && docker-compose up

Note

You need to relaunch this whole command everytime you make a change to your plugin

go to http://localhost:8080, your plugin will be available to use

Documentation

License

Apache 2.0 © Kestra Technologies

Stay up to date

We release new versions every month. Give the main repository a star to stay up to date with the latest releases and get notified about future updates.

Star the repo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.4%
  • Dockerfile 2.6%