--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/4a8cadfb-979b-4673-8d94-5e4cf22a5320%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/a5158d17-85ec-4d7f-bc3e-1a736f36950a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKNJy2c7AFcu___OX%2BNaOQs8vy7J2oKmH2sUOx7_O8xm2Q%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKNJy2c7AFcu___OX%2BNaOQs8vy7J2oKmH2sUOx7_O8xm2Q%40mail.gmail.com.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/744780aa-320d-45fd-9798-73c204c73931%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/a6e3a14d-3951-418f-a18c-08aaecd8604c%40googlegroups.com.
2) Enhancing the Concurrency specification... It sounds like Concurrency is not sufficient for the intended usage. Nathan has posted some ideas on what needs to be improved. Just talking from a Jakarta EE perspective, enhancing the Concurrency specification can not happen for some period of time. We have to complete Jakarta EE 8 before new or updated specs can be entertained. And, we need to have a finalized specification process in Eclipse. I know some of this can happen in parallel, but the end game will be dependent on Jakarta EE processes and schedules. Thus, having Fault Tolerance be dependent on an update to Concurrency may not be the best game plan...
It is unclear at this point if a Jakarta EE 8/9/n specification can reference a Java EE 8 specification and then define the delta (changes and additions). If Oracle ends up allowing this and expands that permission to MP then you could create a new Concurrency spec for MP and reference Java EE 8 Concurrency specifying the delta. When Jakarta EE 9 is ready for development, the Jakarta EE 9 Concurrency project could then adopt the deltas defined by the MP Concurrency spec to re-align them.
Hi James,I probably don't see all the requirement for reactive approach but I can give you my spec lead input on CDI contexts. I think the following points may be useful to move the reflexion on context propagation in the right direction.- CDI built-in contexts (Request Context, Session, etc...) don't propagate. Even Application context doesn't : it is shared across application threads
- While built-in contexts don't propagate nothing in the spec prevent creation of a custom context that can propagates (or is hared across multiple threads)
- Contexts in CDI manage creation and destruction of managed instances so they have to control the way and place where these instance are stored. It's the reason why context propagation can't be managed outside context but should be managed but the context itself
- Instances that may use context should be contextual instances (instantiated and managed by CDI container) or at least non contextual instances (not managed by CDI but having injection honored by CDI). So if you use 3rd party framework you'll have to provide a CDI layer for them if you want to use CDI contexts.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABu-YBTTysoAqzuhA6Vt7-%2ByXLTNaT3WdCBhKB0JTugbaQdLyA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
On 13 Jul 2018, at 03:23, James Roper <ja...@lightbend.com> wrote:On Thu, 12 Jul 2018 at 21:38, 'Antoine Sabot-Durand' via Eclipse MicroProfile <microp...@googlegroups.com> wrote:Hi James,I probably don't see all the requirement for reactive approach but I can give you my spec lead input on CDI contexts. I think the following points may be useful to move the reflexion on context propagation in the right direction.- CDI built-in contexts (Request Context, Session, etc...) don't propagate. Even Application context doesn't : it is shared across application threadsThis is a problem as soon as you use reactive programming to handle a request. If I have a JAX RS method like this:@RequestScopedprivate MyRequestScopedComponent requestScopedComponent;@GET@Path("/")public CompletionStage<Response> handleRequest() {CompletionStage<QueryResult> resultFuture = myReactiveDatabase.makeQuery();return resultFuture.thenApply(result -> {return requestScopedComponent.transformToResponse(result);
});}That doesn't work, since the thread that executes the callback passed to resultFuture.thenApply won't have the request context, since that thread is likely to be one of the database drivers IO event loop threads, and therefore won't be able to use the requestScopedComponent. By not allowing request context to be propagated to non container managed threads, it forces all request handling into a single thread per request programming model, which is the opposite of and fundamentally incompatible with reactive programming, where multiple threads are involved in handling a single request.
- While built-in contexts don't propagate nothing in the spec prevent creation of a custom context that can propagates (or is hared across multiple threads)That's true, but this requires each context to implement their own mechanism, which requires manually using that contexts propagation support each time you want to propagate context. The biggest problem here is that another library that wants to offer reactive features, but doesn't know about all the custom contexts that a user might want propagated, is unable to propagate that context for the user.- Contexts in CDI manage creation and destruction of managed instances so they have to control the way and place where these instance are stored. It's the reason why context propagation can't be managed outside context but should be managed but the context itselfAnd that's fine, but it doesn't preclude CDI from offering APIs that abstract over how the context is stored, and therefore allow generic, context agnostic propagation.
- Instances that may use context should be contextual instances (instantiated and managed by CDI container) or at least non contextual instances (not managed by CDI but having injection honored by CDI). So if you use 3rd party framework you'll have to provide a CDI layer for them if you want to use CDI contexts.It's not instance that are the problem here, it's what threads interact with those instances. Unlike a thread per request (or operation, eg handling a message) model, in reactive programming, the container does not have control over which threads interact with which instances during which operation. During the lifecycle of a particular context, there may be many threads involved in processing that requires that context.I don't know if CDI context constraints is compatible with a reactive / multi-thread approach, but it should be made by extending it with custom context and portable extensions.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKO--%2BvKwRu0OPgaGsfud5A-LKgREsASFkU4cebt%2BWHq%3Dw%40mail.gmail.com.
About this specific issue, there are solutions. While I must admit they are far from optimal, but we can do something like:CompletionStage<QueryResult> future = makeQuery();ContextState states = Context.capture();future.thenApply(response -> {ContextState previousStates = states.install();try {// ….}finally {previousStates.restore();}});It’s actually what we do for CompletableStage. When using RX, things are hidden - the context propagation happens “automatically”.
On 13 Jul 2018, at 09:28, James Roper <ja...@lightbend.com> wrote:On Fri, 13 Jul 2018 at 16:15, Clement Escoffier <clement....@gmail.com> wrote:[snip]About this specific issue, there are solutions. While I must admit they are far from optimal, but we can do something like:CompletionStage<QueryResult> future = makeQuery();ContextState states = Context.capture();future.thenApply(response -> {ContextState previousStates = states.install();try {// ….}finally {previousStates.restore();}});It’s actually what we do for CompletableStage. When using RX, things are hidden - the context propagation happens “automatically”.It's that sort of API that I'd like CDI to offer - but I don't know where you're getting that ContextState API from - it's not in CDI 2.0 as far as I can see? Is it something internal to Weld?
Exactly the same thing could be achieved by offering an API that does something like this:CompletionStage<QueryResult> future = makeQuery();future.thenApply(response -> {// ….}, Context.capture());
Where Context.capture() returns an executor that holds the ContextState, then installs it before running any runnables passed in, and restores the previous states in a finally block.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKPULw9R9jEEpLJjcHcwKp%2BVoazkhNy7DYHoBO6jCQmbZg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/107fe66b-0bf6-40ee-bf03-7b1dc9884914%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/93358C9D-D541-4392-B37A-775600DD1895%40gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/107fe66b-0bf6-40ee-bf03-7b1dc9884914%40googlegroups.com.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/93358C9D-D541-4392-B37A-775600DD1895%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/733a7b18-cf08-46a2-894e-70a9cca7bdfc%40googlegroups.com.
.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/733a7b18-cf08-46a2-894e-70a9cca7bdfc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CACZTZYUx-WUDib4iKHWvTTreRB_aKFHTx3PwVKNehoUXruDLGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Maybe MP Reactive could look to introduce a "reactive" Context for CDI that can be propagated?
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/107fe66b-0bf6-40ee-bf03-7b1dc9884914%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/107fe66b-0bf6-40ee-bf03-7b1dc9884914%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKNz9%3DFEUgQxKDRv4pdADRNa1MAibC%3DmvvOBMXWryviFjQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/107fe66b-0bf6-40ee-bf03-7b1dc9884914%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKNz9%3DFEUgQxKDRv4pdADRNa1MAibC%3DmvvOBMXWryviFjQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CACZTZYVsFT8RzB%2BC8qddcGOids08CKgiYSe-33A_GPYxuvD0Mg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CACZTZYWNTiY3PT5Dv22rBD3Y2Ra1UkamiwuCR82-ARNoBZCKGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF728F5090.D0609F53-ON002582CC.0049F96D-862582CC.00536995%40notes.na.collabserv.com.
.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF728F5090.D0609F53-ON002582CC.0049F96D-862582CC.00536995%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CACZTZYUQOGPJ3YV69tEzgjVN1iE-gWMtUfxdVHCnQUqDUm892g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKNDH9fXSoWnfq0v1iE03_5m7-h%3D4t%3DtBhzNMXGy4EMa-w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAG1ZpUaE6L8GtCnGEdnF5-FZdeLE%3Dc_LG3HUrHh6Jovdmnid1Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
--Stéphane Épardaud
.
--Stéphane Épardaud
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/49de8367-fe08-4cad-840e-1124f6ed098b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9vEwcCJa0O9t%2BEph1tnsG7PMxtHeUxZ89Sxeu%3DV6uTrCQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/EF03E16D-B789-45CA-AA1F-899C46637691%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/CACZTZYWNTiY3PT5Dv22rBD3Y2Ra1UkamiwuCR82-ARNoBZCKGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF728F5090.D0609F53-ON002582CC.0049F96D-862582CC.00536995%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Alasdair: I’d also like to see support for arbitrary contexts, but I’m guessing that would require a CDI update?I was going to raise a Jira for this. After a quick search, I found this one already being raised by Romain two years ago. Today, during reactive hangout, I talked with Antoine. I suggested in the next version of CDI, we should investigate this jira and try to fix it. For now, I think we should experiment the workaround provided by Stepane.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/CACZTZYWNTiY3PT5Dv22rBD3Y2Ra1UkamiwuCR82-ARNoBZCKGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF728F5090.D0609F53-ON002582CC.0049F96D-862582CC.00536995%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/CACZTZYWNTiY3PT5Dv22rBD3Y2Ra1UkamiwuCR82-ARNoBZCKGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF728F5090.D0609F53-ON002582CC.0049F96D-862582CC.00536995%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com
.
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/52cc6aac-7efd-4da0-a30f-bbc88d8fa226%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/CACZTZYWNTiY3PT5Dv22rBD3Y2Ra1UkamiwuCR82-ARNoBZCKGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF728F5090.D0609F53-ON002582CC.0049F96D-862582CC.00536995%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com
.
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/52cc6aac-7efd-4da0-a30f-bbc88d8fa226%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
.
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/52cc6aac-7efd-4da0-a30f-bbc88d8fa226%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/00231a2f-8677-4d4f-b5e6-0a0574e02c50%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OFEF3B704F.07EBE386-ON002582D6.00559FCE-862582D6.00566973%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKP2E4wiRUrZxgTpRSZcL0rNsqS-F%2BpfXTWLAVrzBvx_XQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Hi James,Great explanation. Does https://docs.oracle.com/javaee/7/api/javax/enterprise/concurrent/ContextService.html somewhat cover your idea (provided that it propagates CDI scopes, of course)?
Regards,Guillermo González de Agüero
El jue., 12 jul. 2018 a las 5:46, James Roper (<ja...@lightbend.com>) escribió:A custom implementation of CompletionStage won't solve the problems.
The reason is, MicroProfile (or Jakarta EE) is not in control of all the CompletionStage's being created. Unless we constrain MicroProfile to never be used with any third party libraries, the moment a user brings in a third party library, eg, a reactive database client, that's going to return whatever CompletionStage it wants to (eg CompletableFuture), and the callbacks to that will either run on the thread that redeems the CompletionStage (which would typically be an IO thread managed by the third party library), the calling thread, or JDK common fork join pool (depending on whether the Async variant of methods is used or not). We of course want MicroProfile to be able to work with third party libraries, so that's not an option.And, if we did supply our own implementation of CompletionStage for the CompletionStages' that our APIs return, then developers would have a very confusing experience, because whether context was propagated or not would depend on where the CompletionStage came from.I think the only sane way to deal with this is to firstly educate developers that they need to manage the propagation of context themselves, and secondly provide them with a generic mechanism in CDI - eg, an executor - that they can use to propagate any arbitrary CDI context, so they can supply this to the CompletionStage API to do the context propagation for them. I've tried to talk to CDI people before about offering such APIs for generic propagation of context, but every time I've raised it the answer has been "that's not how CDI is supposed to work". I think it's time to wake up to reality, either CDI is completely incompatible with reactive and asynchronous programming and doing reactive programming requires abandoning the context features of it, or CDI needs to come up to speed and offer APIs for context propagation to threads that are not controlled by the container.It's also worth having a broader discussion about whether thread local context is something that we want to continue to rely on going forward - it really only works nicely in a thread per request model, once operations have a many to many mapping with threads, it gets very painful, if not practically impossible, to maintain the context.On Thu, 12 Jul 2018 at 12:15, Ken Finnigan <k...@kenfinnigan.me> wrote:Emily,Maybe it would be beneficial if you can outline the specific use case details where you see the Concurrency spec is necessary.On reading Alasdair comments and rethinking it, I do see in most cases whether Concurrency spec is necessary is an implementation detail and not something that's required as a base for the specs to build on. Happy to be proven wrong.Ken
On Wednesday, July 11, 2018 at 8:55:37 PM UTC-4, Alasdair Nottingham wrote:I don’t know how I feel about this. I get the point Emily raises about managed threads being good, but I am not sure how I feel about extending the programming model for micro profile because of an implementation detail of a specification.If we think MP apps should directly use concurrency then we should pull it in for sure, but if all we need is a different implementation of CompletionStage isn’t this an implementation detail? Maybe one implementation wants to use the default fork join pool, maybe another wants to use JavaEE concurrency, maybe another has a totally different approach.Alasdair NottinghamRegarding the possibility of the Concurrency spec being misused to cause large numbers of thread to be created, I would argue that the already-available Java SE concurrent package currently allows for that sort of misuse, but the EE Concurrency spec could actually offer an improvement here because it provides for the possibility of reusing a core set of managed threads rather than the application creating a bunch of independently operating thread pools of its own.
On Wednesday, July 11, 2018 at 12:18:33 PM UTC-5, Ken Finnigan wrote:It's not a bad idea to include Concurrency spec into MP as part of the base. However, we'd need to ensure that it's inclusion isn't misused in a way that causes large numbers of Threads to be created.One thing to note, REST Client is able to offer async today without Concurrency spec being present in MP. It's likely that the implementations utilize ManagedExecutorService internally, but it's not necessary at the spec level.Ken
On Wednesday, July 11, 2018 at 12:16:44 PM UTC-4, Emily Jiang wrote:In today's Fault Tolerance call, we talk about the asynchronous reactive aspect of Fault Tolerance. We are working towards to support the following scenario:
@Asynchronous
public CompletionStage getMyService() {
...
}
The natural way to return a CompletionStage is to use CompletableFuture. However, the thread from CompletableFuture is from the default ForkJoinPool, which gives us unmanaged threads. In order to ensure contexts propagation, we need ManagedExecutorService from Concurrency spec.
We could bring in the concurrency spec and add more functionality to the ManagedExecutorService to return a better implementation of CompletionStage. I think this is beneficial to MicroProfile specs, as RestClient has also support the async client. I think mp-reactive is trying to support the similar thing.
We could let concurrency to manage all async issues while the other specs just need to rely on concurrency spec.
Interestingly enough, during my conversation with Adam Bien, Adam expressed his desire of encouraging MicroProfile to bring in the concurrency spec as he uses ManagedExecutorService very frequently.
I think they are some other use cases as well. Please do join in and share your thoughts.
Thanks,
Emily
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/4a8cadfb-979b-4673-8d94-5e4cf22a5320%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/a5158d17-85ec-4d7f-bc3e-1a736f36950a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CABY0rKNJy2c7AFcu___OX%2BNaOQs8vy7J2oKmH2sUOx7_O8xm2Q%40mail.gmail.com.
Here is the writeup of the enhancement for ManagedExecutorService to create a thread context aware CompletionStage that I proposed to the EE Concurrency spec (now under Jakarta EE),
https://github.com/eclipse-ee4j/concurrency-api/issues/40
It was written in terms of the Java SE 8 CompletableFuture interface, but the general proposal is to add methods to the existing ManagedExecutorService interface that correspond to the static methods of CompletableFuture, so accounting for Java SE 9+ would be something like,
CompletableFuture<Void> runAsync(Runnable);
<U> CompletableFuture<U> supplyAsync(Supplier<U> supplier);
<U> CompletableFuture<U> completedFuture(U value);
<U> CompletionStage<U> completedStage(U value);
<U> CompletableFuture<U> failedFuture(Throwable ex);
<U> CompletionStage<U> failedStage(Throwable ex);
I'm uncertain what is meant by some of the suggestions that usage of ManagedExecutorService is an implementation detail.
In many cases, usage of ManagedExecutorService vs alternatives is directly specified within application code.
In JAX-RS, the user specifies a ManagedExecutorService or other ExecutorService via the ClientBuilder,
https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/client/ClientBuilder.html#executorService-java.util.concurrent.ExecutorService-
because JAX-RS implementation itself constructs the CompletableFuture to be returned to the user, it needs to be aware of the fact that it was supplied a ManagedExecutorService that ought to be backing the CompletableFuture. This has been identified as a deficiency in the JAX-RS spec, and the proposal that I wrote up above was specifically written to address this -- to give JAX-RS a way of obtaining such a CompletableFuture.
In Emily's MicroProfile fault tolerance proposal, the user obtains and returns a CompletionStage of their own choosing, whether it came from Java SE CompletableFuture or otherwise. We are proposing that if they want context propagation and use of managed threads, then they should be able to obtain one from a ManagedExecutorService, by reusing the same solution that we are hoping to provide for JAX-RS,
@Asynchronous
public CompletionStage<Integer> computeSomething() {
return managedExecutorService.supplyAsync(computeInitialValue).thenApplyAsync(...);
}
or if they don't need context propagation and want the default ForkJoinPool,
@Asynchronous
public CompletionStage<Integer> computeSomething() {
return CompletableFuture.supplyAsync(computeInitialValue).thenApplyAsync(...);
}
I don't see this meaning that MP Fault tolerance has a hard dependency on Concurrency, but rather that Concurrency can be enabled and used in conjunction with MP Fault tolerance.
While it would be an option to wait for Jakarta EE, progress there can be slow, and there could be some value in bringing Concurrency into Microprofile to allow for potential innovation and proof of concept in advance of adoption into Jakarta.
From: "'Emily Jiang' via Eclipse MicroProfile" <microp...@googlegroups.com>
To: Eclipse MicroProfile <microp...@googlegroups.com>
Date: 07/12/2018 05:04 AM
Subject: Re: [microprofile] Re: Bring Concurrency to MicroProfile
I am not sure what Rest Client is doing for the CompletionStage. I think it hits the same issue. How does an end user create a CompletionStage in Java EE context? I don't think it is valid thing to say it is implementation detail. At the moment, the only easy way to get an instance of CompletionStage is via CompletableFuture, which is Java SE version as explained by Reza .
e.g. in an end user's code
@Asynchronous
public CompletionStage getMyService() {
//How can a developer create a completionStage for Java EE, as the CompletableFuture does not get thread from managed thread pool, none context will be propagated
..
}
One proposal is to offer a EE version of CompletableFuture and add to Concurrency spec, so that anyone uses MP concurrency to get a useful CompletionStage. I think Nathan has some detailed design to extend ManagedExecutorService and would like to propose to the future Concurrency spec anyway, which might be ideal to bring to MP concurrency first. I don't want to steal his thunder. Nathan, please explain in more details.
Thanks
Emily
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/744780aa-320d-45fd-9798-73c204c73931%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
.
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/462bb2b1-e8c5-4f05-91b7-27b2c9b27f5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/52cc6aac-7efd-4da0-a30f-bbc88d8fa226%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/671f7198-928a-4cef-a973-4c6acd214441%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/52cc6aac-7efd-4da0-a30f-bbc88d8fa226%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
.
To view this discussion on the web visit
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to
To post to this group, send email to
To view this discussion on the web visit
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/e8a62fbe-5c18-479a-8550-07c18b715ce1%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAG1ZpUaHViC2Hp%3DAD0YLgtkoL6%2BKXnSpHJ%2BAOAgbUFLguNP4Xg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAP7YuAQmxJwaYD5dpWc9o4-bTMMZ-0SDr9k0jvtwq9OU0b8Wdw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
+1Cheers,
Martijn
+1.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/e8a62fbe-5c18-479a-8550-07c18b715ce1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAG1ZpUaHViC2Hp%3DAD0YLgtkoL6%2BKXnSpHJ%2BAOAgbUFLguNP4Xg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAP7YuAQmxJwaYD5dpWc9o4-bTMMZ-0SDr9k0jvtwq9OU0b8Wdw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--Stéphane Épardaud
+1Cheers,
Martijn
+1.
.
To post to this group, send email to microprofile@googlegroup
</block
.
To post to this group, send email to microprofile@googlegroup
</block
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/f3525c34-0266-4b55-919d-f368bcf3ff88%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to
To view this discussion on the web visit
</block
.
To view this discussion on the web visit
https://groups.google.com/d/msgid/microprofile/f3525c34-0266-4b55-919d-f368bcf3ff88%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/microprofile/jKFu-IS_U90/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
microprofile...@googlegroups.com.
To post to this group, send email to
microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/64efd991-23d0-4f8d-adae-ca4e8dccc3e0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OFAF08DA22.704271FD-ON002582F2.004E1864-862582F2.004E8851%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9v9n_%2BcoiLMQjauVmPstc4064qU1HRkY9FoMSXLRpE4Lg%40mail.gmail.com.
</block
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CACZTZYWy%3DVNpJsLk4uNkYhLbpj12et-pVsGypXo2PESkLKLOug%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OFDF18785D.BE34CBE4-ON002582F3.0049839A-862582F3.004A2794%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9sHE7fVhFtXAsba2U3bcRR0n8F%2BfGtY24LQfGYS4iTkrw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.[attachment
"noname" deleted by Nathan Rauh/Rochester/IBM] [attachment "noname"
deleted by Nathan Rauh/Rochester/IBM]
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF37AA371E.C5FFB1A2-ON002582F9.0062B20A-862582F9.006D3404%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9tEM6xL9EgYvDvsPz%3DJDe%2BTMZz_kWjedkiiUpuhBx56Eg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OFE699C776.17CD1234-ON002582FB.00712F9D-862582FB.0071B4D5%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF544E46DD.97D22931-ON00258306.007524C1-86258306.00779E46%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9s7%2BzAxmp-NMjwyrVi0Yq%3D2PcH__VRvGT6CCF_n4mk_ZA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF86970611.21F496A9-ON00258307.0059B7B5-86258307.005BF9F5%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9vvb8r7co-8oRHvRH7vNUwh-%2Bu4cGegkQ8dtaTci3B6uw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/OF40FE6698.EA2EF6D2-ON00258308.0052316F-86258308.00532654%40notes.na.collabserv.com.
For more options, visit https://groups.google.com/d/optout.
</block
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
--
Stéphane Épardaud
.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/CAKU9E9ss90y9BOTgSsqd0rmrtxGbfeneH6B7Km9une9w0zTf%3Dg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.