Hi Nathan,
Firstly thanks for posting this to the mailing list.
I prefer following EJB naming and call it @Asynchronous. I think this will serve to make it clear the intent is to supersede the EJB functionality eventually.
For the Serializable Context issue, I would favor going with the simplest solution that still allows for providers to create more robust implementations that cover clustering cases for timers and batch. I would hate to standardize something that makes that impossible.
Reza Rahman
Jakarta EE Ambassador, Author, Blogger, Speaker
Please note views expressed here are my own as an individual community member and do not reflect the views of my employer.
From: cu-dev <cu-dev-bounces@xxxxxxxxxxx> on behalf of Nathan Rauh <nathan.rauh@xxxxxxxxxx>
Sent: Monday, October 11, 2021 5:46 PM
To: cu developer discussions
Subject: Re: [cu-dev] Concurrency 3.0 pulls ready for review: #43, #103 - and two questions on them
Thanks everyone who
has been reviewing pulls for the Concurrency spec.The two following
pulls could benefit from some additional discussion.
The first of these, for asynchronous methods has thus far received some
good review comments which have all been addressed except for the discussion
on whether to name it @Async or @Asynchronous or @Asynch, which seemed
like a good question to put before the group in case there are any strong
preferences. Among the reviewers thus far, one had a strong preference
for @Async and others weren't sure or didn't have a strong preference.
Some of the thoughts which have been pointed out thus far: @Asynchronous
would match the EJB and MP FaultTolerance names, which could be an advantage
or disadvantage. @Async lines up with the CompletableFuture.*Async
method names.Issue
#43Asynchronous Methods Annotation
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/147
The second of
these, for third-party providers of thread context (which will be useful
as a prerequisite to getting CDI context propagation from a third-party
like Weld), is mostly a copy from MicroProfile Context Propagation, but
I want to highlight one aspect that didn't match up because MicroProfile
intentionally excluded a couple of methods to avoid addressing it, which
is the question of whether to allow for Serializable thread context. The
only place in the specification where this is possible is with the 4 ContextService.createContextualProxy
methods that let you create contextual proxies that can be serialized and
deserialized across JVMs. MicroProfile avoided the problem by excluding
these methods. We could do that, too, by declaring that the combination
of third-party thread context with the createContextualProxy methods is
only valid if the interface types are not serializable. That could simplify
things for providers of third-party context, especially those for which
deserializing context to another JVM makes no sense. But it could also
be limiting in scenarios such as persistent (EJB) timers and potentially
batch that might use the ContextService to store contextual tasks and expect
them to be able to run on another JVM. What are everyones' thoughts
on this?Issue
#103Third-Party Providers of Thread Context
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/149
From:
Nathan
Rauh/Rochester/IBMTo:
"cu
developer discussions" <cu-dev@xxxxxxxxxxx>Date:
10/01/2021
03:20 PMSubject:
Re:
[EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #43, #35,
#99, jakartaee-schemas #28
With #141for the resource definition annotations being merged now, I created the
corresponding to update the deployment descriptors with equivalents for
the annotations.
This needs a review under the jakartaee-schemas repo, https://github.com/eclipse-ee4j/jakartaee-schemas/pull/29.Here is the full
list of outstanding issues with pulls that still need a review,
Issue #28Jakarta EE Schema Updates for Resouce Definition Annotations
pull to review:
https://github.com/eclipse-ee4j/jakartaee-schemas/pull/29
Issue
#43Asynchronous Methods Annotation
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/147
Issue #35Java
SE 8 Date and Time Support
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/143
Issue #99Cron-based
Trigger
This builds on the Java SE Date/Time based trigger (#35 above) so it also
includes the commit for it.
For only the changes that are unique to this pull, see the following commit:
https://github.com/eclipse-ee4j/concurrency-api/pull/144/commits/8cec1222b66ea6ff68a730d1923fc7355592efe2
From:
Nathan
Rauh/Rochester/IBMTo:
"cu
developer discussions" <cu-dev@xxxxxxxxxxx>Date:
09/20/2021
04:19 PMSubject:
Re:
[EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #46,
#35, #99, #43
The pulls for
copying from MicroProfile were merged last week.Next I'll aim
to get #140and#141 merged,
maybe around a week from now.Let me know if
anyone is still in the process of reviewing these.Also, I've added
#147to the list of pulls open for review,Issue
#38Define
Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the
most basic attributes.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/141
Issue #46Parallel
Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also
implement ForkJoinWorkerThreadFactory. Alternatively, we could do
nothing and leave it to the user to implement something similar based on
ContextService.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/140
Issue #35Java
SE 8 Date and Time Support
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/143
Issue #99Cron-based
Trigger
This builds on the Java SE Date/Time based trigger (#35 above) so it also
includes the commit for it.
For only the changes that are unique to this pull, see the following commit:
https://github.com/eclipse-ee4j/concurrency-api/pull/144/commits/8cec1222b66ea6ff68a730d1923fc7355592efe2
Issue
#43Asynchronous Methods Annotation
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/147
From:
"Steve
Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>To:
"cu
developer discussions" <cu-dev@xxxxxxxxxxx>Date:
09/13/2021
06:25 AMSubject:
[EXTERNAL]
Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100,
#101, #35, #99Sent
by: "cu-dev"
<cu-dev-bounces@xxxxxxxxxxx>
Hi
Nathan,
Go
ahead and merge.
Apologies
of being a bit slow in responding recently I am in the middle of a house
move and sale.
Steve
From:cu-dev <cu-dev-bounces@xxxxxxxxxxx> On Behalf Of Nathan Rauh
Sent: 10 September 2021 23:12
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Subject: Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38,
#40, #46, #100, #101, #35, #99
I'd
like to start merging the 3 pulls from the list below that consist of copying
interfaces over from MicroProfile.
Let me know if anyone is still in the process of reviewing these and would
like more time, otherwise I'll go ahead and merge them in 5 days or so
Issue #40Completion
stages backed by ManagedExecutorService
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/104
Issue #100ContextService
methods for contextualizing individual dependent stage actions
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/138
Issue #101Completion
stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references
made in JavaDoc): https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e
From: Nathan
Rauh/Rochester/IBM
To: "cu
developer discussions" <cu-dev@xxxxxxxxxxx>
Date: 08/27/2021
01:26 PM
Subject: Re:
[EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40,
#46, #100, #101, #143, #144
Adding 2 more pulls to the list needing review,
Issue #40Completion
stages backed by ManagedExecutorService
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/104
Issue #100ContextService
methods for contextualizing individual dependent stage actions
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/138
Issue #101Completion
stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references
made in JavaDoc): https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e
Issue #38Define
Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the
most basic attributes.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/141
Issue #46Parallel
Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also
implement ForkJoinWorkerThreadFactory. Alternatively, we could do
nothing and leave it to the user to implement something similar based on
ContextService.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/140
Issue #35Java
SE 8 Date and Time Support
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/143
Issue #99Cron-based
Trigger
This builds on the Java SE Date/Time based trigger (#35 above) so it also
includes the commit for it.
commit that is unique to this pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/144/commits/8cec1222b66ea6ff68a730d1923fc7355592efe2
From: "Steve
Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To: "cu
developer discussions" <cu-dev@xxxxxxxxxxx>
Date: 08/10/2021
06:52 AM
Subject: [EXTERNAL]
Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100,
#101
Sent by: "cu-dev"
<cu-dev-bounces@xxxxxxxxxxx>
Hi,
I
will get my team to review. I’m also trying to push to get more feedback
and involvement from others through a number of JUG talks and Jakarta tech
talks. I’d like to get together a team that is interested in driving this
forward in the Jakarta EE 10 timeframe.
I
think it would be good to also have a co-project lead so I don’t feel
the burden to drive the specification falls to me. @Nathan would you be
interested in being a co-project lead?
Steve
From:cu-dev
<cu-dev-bounces@xxxxxxxxxxx>
On Behalf Of Nathan Rauh
Sent: 09 August 2021 22:31
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Subject: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40,
#46, #100, #101
Now
that we are at a point where we can start making updates for Jakarta EE
10, could specification participants review the 5 pulls for the Concurrency
3.0 planned items below (whichever you are comfortable with reviewing)
and make comments in them regarding any changes that are needed or otherwise
approve them for merging? Thanks!
Issue #40Completion
stages backed by ManagedExecutorService
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/104
Issue #100ContextService
methods for contextualizing individual dependent stage actions
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/138
Issue #101Completion
stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references
made in JavaDoc): https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e
Issue #38Define
Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the
most basic attributes.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/141
Issue #46Parallel
Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also
implement ForkJoinWorkerThreadFactory. Alternatively, we could do
nothing and leave it to the user to implement something similar based on
ContextService.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/140
From: Nathan
Rauh/Rochester/IBM
To: cu
developer discussions <cu-dev@xxxxxxxxxxx>
Date: 05/10/2021
04:29 PM
Subject: Ready
for review: #38, #40, #46, #100, #101
In addition to the 3 pulls that I mentioned previously (forwarded) for
bringing over MicroProfile API,
the following 2 pulls are also ready for review:
Issue #38Define
Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the
most basic attributes.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/141
Issue #46Parallel
Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also
implement ForkJoinWorkerThreadFactory. Alternatively, we could do
nothing and leave it to the user to implement something similar based on
ContextService.
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/140
see below for 3 additional pulls to copy over MicroProfile API,
----- Forwarded by Nathan Rauh/Rochester/IBM on 05/10/2021 04:11 PM -----
From: Nathan
Rauh/Rochester/IBM
To: cu
developer discussions <cu-dev@xxxxxxxxxxx>
Date: 03/31/2021
10:11 AM
Subject: Ready
for review: #40, #100, #101 for transferring over MicroProfile API to Jakarta
EE Concurrency 3.0
Given the amount of proposed content for Concurrency in Jakarta 10, I've
started putting together pulls for the MicroProfile-related enhancements
currently in the Milestone
3 list, starting
with the ones for copying over API methods around CompletionStage/CompletableFuture.
The following 3 are ready to start reviewing now (I won't actually
be merging anything until after the release plan is official, and of course
pending approval from the community)
When reviewing these, it will be helpful to note that MicroProfile class
ManagedExecutor is the equivalent of our ManagedExecutorService,
and MicroProfile class ThreadContext is the equivalent of our ContextService.
The method signatures themselves are an exact copy (which will be great
for compatibility), except for the one place where MicroProfile's ManagedExecutor
has a getThreadContext method that returns a ThreadContext, which is switched
to ContextService. The intent behind the MicroProfile method here is so
that threadContext/contextService.withContextCapture(completionStage/completableFuture)
can create CompletionStage/CompletableFuture proxies that are backed by
the ManagedExecutor. But managedExecutor[Service].copy(completionStage/completableFuture)
can already do that. We can decide if the equivalent getContextService
method is really wanted/needed here, and if not, I can remove it. To
start out with, I included it in the pull so that you have the opportunity
to see what it would look like if we did include it. Please add your feedback
on it in the review. I would be happy with either outcome and will
go with the majority on it.
Issue #40Completion
stages backed by ManagedExecutorService
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/104
Issue #100ContextService
methods for contextualizing individual dependent stage actions
pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/138
Issue #101Completion
stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references
made in JavaDoc): https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:
https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cu-dev
_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cu-dev