bpm-crafters / bpm-crafters/process-engine-worker

[Feature] Quarkus Support for the Process Engine Worker

Open
#265 0 comments 0 reactions 1 assignee Claimed by @Hafflgav View on GitHub
Prio: MUST
Dominant language
Kotlin
Stars
17
Forks
2
Avg merge
2d 20h
Merged PRs (30d)
4

Description

## Context & Motivation
The Process Engine Worker currently supports only Spring Boot and relies on Spring-specific mechanisms such as @Autowired component scanning and lifecycle hooks (postProcessAfterInitialization).

For Quarkus-based projects, we need lightweight, native Quarkus support. The goal is to let developers define worker handlers in Quarkus applications with the same declarative, annotation-based experience as in Spring — without boilerplate.

## Proposed Solution & Architecture
1. Shared core module (process-engine-worker-core): Extract the framework-independent logic from the existing Spring worker. Share domain objects, error handling (e.g. BpmErrorOccurred), subscription handling, and task-execution logic. (No Spring dependencies in the core module.)
2. Quarkus auto-detection & CDI registration (process-engine-worker-quarkus): Quarkus uses build-time / ahead-of-time dependency injection (Arc) instead of runtime reflection scanning.
Implement a build-time auto-detection mechanism (e.g. a Quarkus extension using build steps / Jandex indexing, similar to declarative scanners like Axon’s). Automatically detect and register annotated worker handlers in the Quarkus Arc CDI container.

## Acceptance Criteria (Definition of Done)

- [ ] Core extracted: Framework-independent logic lives in process-engine-worker-core.
- [ ] Spring module adapted: The existing Spring module consumes the core module with no breaking changes for current Spring projects.
- [ ] Quarkus module: New process-engine-worker-quarkus module is available.
- [ ] Declarative annotations: Worker handlers can be defined in Quarkus via annotations, analogous to Spring.
- [ ] Build-time / AoT: Registration is compatible with the Quarkus build-time CDI model.
- [ ] Tests: Unit and integration tests for the Quarkus worker exist and pass.
- [ ] Documentation: README and module docs describe setup and configuration in Quarkus.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.