Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can this be integrated with CDI Events #4

Open
jroper opened this issue Aug 10, 2018 · 0 comments
Open

Can this be integrated with CDI Events #4

jroper opened this issue Aug 10, 2018 · 0 comments
Milestone

Comments

@jroper
Copy link
Member

jroper commented Aug 10, 2018

Migrated from eclipse/microprofile-reactive-streams-operators#30

Comment by @smillidge:

Some of the annotations being produced are similar to CDI Events. Could this be used to enhance the CDI Observer model. For example Payara Micro does asynch eventing across process boundaries by adding the @Inbound and @Outbound annotations to the standard CDI apis. See https://docs.payara.fish/documentation/payara-server/public-api/cdi-events.html

Comment by @jroper:

I think it can, and @cescoffier and I were going to schedule some meetings with some of the CDI committers to discuss further.

One issue that we think exists at the moment is that listeners are unable to asynchronously propagate backpressure. Backpressure can be asynchronously propagated by event publishers using fireAsync and attaching to the returned CompletionStage. However, event listeners don't seem to have any such mechanism. One way they could provide some mechanism is by allowing them to return CompletionStage<Void>, and ensuring the publisher that invoked fireAsync doesn't have its CompletionStage redeemed until the listener redeems the CompletionStage it returns.

Other than that, we think a good way to offer integration with CDI events would be to allow them to be a messaging provider.

Comment by @hutchig:

The Payara @Inbound and @Outbound annotions have come up in some of the discussions in the hangout. CDI integration is very interesting along with an idea like
https://simonbasle.github.io/2018/02/contextual-logging-with-reactor-context-and-mdc/
http://projectreactor.io/docs/core/release/reference/#context

Comment by @jroper:

This may need to wait until 1.1 till we get the backpressure on handling events support into CDI.

Also, another option to consider - perhaps integration with CDI events could be the mechanism through which we implement #26, context detached streams, since that already supports injecting for example the CDI Event firer. Reactive Streams support in CDI itself might be needed to do it well.

@jroper jroper added this to the 1.1 milestone Aug 10, 2018
@hutchig hutchig added the CDI label Feb 12, 2019
@hutchig hutchig added the context label Oct 9, 2019
@Emily-Jiang Emily-Jiang removed this from the 1.1 milestone Oct 16, 2019
lamtrhieu pushed a commit to lamtrhieu/microprofile-reactive-messaging that referenced this issue Nov 8, 2019
…e.commons-commons-lang3-3.8.1

Bump commons-lang3 from 3.7 to 3.8.1
@Emily-Jiang Emily-Jiang added this to the Future milestone Jul 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants