[
https://issues.jboss.org/browse/CDI-729?page=com.atlassian.jira.plugin.sy...
]
James Roper commented on CDI-729:
---------------------------------
Not sure that I understand, are you saying that what I described above is already
supported today? Because, at least according to the Weld documentation, the only thing an
observer can return today is {{void}}.
And for back pressure, sure, the CDI implementation might be fast, but if an event handler
is doing an operation on a database or remote service, and that is overloaded and taking
10 seconds to respond, how can that backpressure be propagated back to the thing that
fired the event so that it doesn't continue firing events and increase the load on the
already overloaded slow component? Currently, the only way is for the consumer to block
the thread it's running on, that's not asynchronous.
Async event not CompletionStage friendly
----------------------------------------
Key: CDI-729
URL:
https://issues.jboss.org/browse/CDI-729
Project: CDI Specification Issues
Issue Type: Feature Request
Reporter: Romain Manni-Bucau
The goal of this ticket is to enable user to get injected the completion future instead
of the raw event and return another completion stage (generic type ignored) to enable the
"chain" to be synched.
Here is a sample:
1. fireAsync(persistEvent)
2. observer implementation does: return future.thenCompose(db::doAsyncPersist)
3. when the user gets back the result of the fireAsync the doAsyncPersist is completed.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)