eventuate-tram / eventuate-tram-core

Transactional messaging for microservices
Other
1.05k stars 186 forks source link

Quarkus support #126

Open languitar opened 4 years ago

languitar commented 4 years ago

I am currently evaluating frameworks for realizing the transactional outbox pattern in a quarkus context. Thus the question, whether quarkus support is generally planned or possible here?

cer commented 4 years ago

A couple of points.

First, when we added support for Micronaut we refactored Eventuate into

This should make it straightforward to support other frameworks, such as Quarkus.

Second, we've seen increased interest in Quarkus and we plan to start work on it very shortly.

languitar commented 4 years ago

Thanks for the quick feedback!

I've seen the separation but getting a grasp on how to implement this on my own is not too easy with all the different modules being involved. Is there any documentation on how to implement framework-specific modules?

ra002890 commented 4 years ago

I have started to work with Quarkus too. My team is being prepared/planning to start help on Eventuate Quarkus version development. So, @cer can you give us some instructions to start it, or can us follow the Micronaut implementation as a pattern and then send it to you though merge requests?

cer commented 4 years ago

@ra002890 @languitar I'm excited to hear that you are interested in contributing to the Quarkus implementation. We don't have any specific documentation on what to do unfortunately.

The simplest advice to create quarkus modules for that correspond to the micronaut modules, starting in eventuate-common. e.g. eventuate-common-quarkus-jdbc, which would 'emulate' eventuate-common-micronaut.

There are modules in various modules that need to be 'quarkified':

You can see the list here.

One more thing. The plan to have separate repositories, such as eventuate-common-quarkus, to avoid overloading the existing repositories.

And, yes, finally collaboration would be via pull-requests. You would need to sign a CLA