jdaugherty commented on code in PR #15960:
URL: https://github.com/apache/grails-core/pull/15960#discussion_r3610567758
##########
grails-doc/src/en/guide/async/asyncPromises.adoc:
##########
@@ -93,6 +93,10 @@ def result = p.get(1,MINUTES)
By default, the `Promises` static methods use an instance of `PromiseFactory`.
This `PromiseFactory` interface has various implementations. The default
implementation is
link:{api}org/grails/async/factory/future/CachedThreadPoolPromiseFactory.html[CachedThreadPoolPromiseFactory]
which uses a thread pool that will create threads as needed (the same as
`java.util.concurrent.Executors.newCachedThreadPool()`)
+Grails 8.1 also includes an opt-in Java 21 virtual-thread seed implementation,
`org.grails.async.factory.future.VirtualThreadPromiseFactory`.
+Set the JVM system property `grails.async.promiseFactory=virtual-thread` to
select it when no service-loaded `PromiseFactory` is present.
+The GPars module remains available for compatibility, but new applications
should prefer the core promise factories or the virtual-thread opt-in while
GPars support is prepared for deprecation.
Review Comment:
This still says GPars support "is prepared for deprecation." As I mentioned
in the PR discussion, we've previously discussed integrating GPars into Groovy
with @paulk-asert and I don't agree with deprecating it — and the proposed
rescope agreed to drop the deprecation framing from this PR. Please remove that
clause, e.g.:
> The GPars module remains available. New applications may also consider the
core promise factories or the virtual-thread opt-in.
The virtual-thread factory itself is additive and opt-in, so it can land
without implying anything about GPars' lifecycle.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]