You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/09/18 11:13:47 UTC
(grails-core) branch 8.0.x updated (e749cc79a9 -> 9fdcb77bf4)
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a change to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from e749cc79a9 Merge pull request #16184 from codeconsole/fix/gsp-spring-boot-standalone-8.0.x
add ab48162355 Modernize default promises with CompletableFuture
add 67f93528de Use the Boot application task executor for promises
add e959963e51 Delegate async action results to Spring MVC
add 3b931d1b89 Document Spring-managed async execution
add 77eeee3cb1 Replace legacy web promise decoration with Spring async support
add 0343abc5af Deprecate legacy async compatibility APIs
add b3febc2d20 Preserve executor affinity across completion stages
add 48a7b21da1 Restore promise error recovery semantics
add 479f5e0e2e Restore URL mapping state on async dispatch
add fb318eef8c Provide a managed fallback promise executor
add c982feb634 Reuse matched URL mappings on async dispatch
add 8dd2b0a1dd Merge upstream/8.0.x into feature/modernize-grails-async-8.0.x
add f269620071 Preserve promise failures and consistent Future exception semantics
add c8c9a0b1b2 Share the promise executor with the default event bus
add b8796c25fd Resolve the named application executor and enable fallback concurrency
add f7da7dee19 Preserve standalone web context and unify async request lifecycle
add a29efe7561 Document async executor migration and deprecated Servlet APIs
add b65a64ed69 Merge upstream/8.0.x into feature/modernize-grails-async-8.0.x
add b09d755655 Merge upstream/8.0.x and retain both sets of upgrade notes
add 69b234e3a5 Unify virtual-thread promises and preserve checked task failures
add 683342d225 Propagate web context across owned executors and chained promises
add b698b3f540 Resolve asynchronous request timeouts as HTTP 503
add f3624cb8c3 Document unified virtual-thread execution and promise failure contracts
add 9fdcb77bf4 Merge pull request #16230 from codeconsole/feature/modernize-grails-async-8.0.x
No new revisions were added by this update.
Summary of changes:
.../async/factory/PromiseFactoryBuilder.groovy | 13 +-
.../future/CachedThreadPoolPromiseFactory.groovy | 2 +
.../factory/future/CompletableFuturePromise.groovy | 115 +++++++++
.../future/CompletableFuturePromiseFactory.groovy | 170 +++++++++++++
.../factory/future/ExecutorPromiseFactory.groovy | 2 +
.../async/factory/future/FutureTaskPromise.groovy | 2 +
.../future/VirtualThreadPromiseFactory.groovy | 93 +-------
.../CompletableFuturePromiseFactorySpec.groovy | 265 +++++++++++++++++++++
.../test/groovy/grails/async/PromiseMapSpec.groovy | 2 +-
.../test/groovy/grails/async/PromiseSpec.groovy | 3 +-
.../async/VirtualThreadPromiseFactorySpec.groovy | 41 +++-
.../groovy/grails/async/web/AsyncController.groovy | 2 +
.../grails/async/web/AsyncGrailsWebRequest.groovy | 2 +
.../groovy/grails/async/web/WebPromises.groovy | 84 ++++++-
.../plugins/web/async/AsyncRequestSupport.groovy | 61 +++++
.../async/AsyncWebRequestPromiseDecorator.groovy | 2 +
...WebRequestPromiseDecoratorLookupStrategy.groovy | 2 +
.../web/async/ControllersAsyncGrailsPlugin.groovy | 60 ++++-
.../plugins/web/async/GrailsAsyncContext.groovy | 2 +
.../web/async/GrailsWebRequestTaskDecorator.groovy | 68 ++++++
.../async/mvc/AsyncActionResultTransformer.groovy | 96 ++------
.../web/async/spring/PromiseFactoryBean.groovy | 2 +
.../grails/async/services/WebPromisesSpec.groovy | 202 +++++++++++++---
.../async/ControllersAsyncGrailsPluginSpec.groovy | 165 ++++++++++++-
.../async/GrailsWebRequestTaskDecoratorSpec.groovy | 64 +++++
.../mvc/AsyncActionResultTransformerSpec.groovy | 164 +++++++++++++
grails-doc/src/en/guide/async/asyncPromises.adoc | 45 +++-
grails-doc/src/en/guide/async/asyncRequests.adoc | 13 +-
grails-doc/src/en/guide/async/asyncServletApi.adoc | 2 +
grails-doc/src/en/guide/async/events.adoc | 4 +-
grails-doc/src/en/guide/traits/traitsprovided.adoc | 2 +-
.../src/en/guide/upgrading/upgrading80x.adoc | 12 +
.../events/bus/spring/EventBusFactoryBean.groovy | 15 +-
.../grails/events/TaskExecuterEventBusSpec.groovy | 38 ++-
.../pubsub/demo/TimeoutController.groovy} | 14 +-
.../pubsub/demo/TimeoutControllerSpec.groovy} | 17 +-
.../grails/web/errors/GrailsExceptionResolver.java | 35 ++-
.../web/errors/GrailsExceptionResolverSpec.groovy | 40 ++++
.../mvc/UrlMappingsInfoHandlerAdapter.groovy | 20 +-
.../UrlMappingsInfoHandlerAdapterAsyncSpec.groovy | 79 ++++++
40 files changed, 1749 insertions(+), 271 deletions(-)
create mode 100644 grails-async/core/src/main/groovy/org/grails/async/factory/future/CompletableFuturePromise.groovy
create mode 100644 grails-async/core/src/main/groovy/org/grails/async/factory/future/CompletableFuturePromiseFactory.groovy
create mode 100644 grails-async/core/src/test/groovy/grails/async/CompletableFuturePromiseFactorySpec.groovy
create mode 100644 grails-async/plugin/src/main/groovy/org/grails/plugins/web/async/AsyncRequestSupport.groovy
create mode 100644 grails-async/plugin/src/main/groovy/org/grails/plugins/web/async/GrailsWebRequestTaskDecorator.groovy
create mode 100644 grails-async/plugin/src/test/groovy/org/grails/plugins/web/async/GrailsWebRequestTaskDecoratorSpec.groovy
create mode 100644 grails-async/plugin/src/test/groovy/org/grails/plugins/web/async/mvc/AsyncActionResultTransformerSpec.groovy
copy grails-test-examples/{test-phases/grails-app/controllers/testphases/GreetingController.groovy => async-events-pubsub-demo/grails-app/controllers/pubsub/demo/TimeoutController.groovy} (85%)
copy grails-test-examples/{hibernate7/async-events-pubsub-demo/src/integration-test/groovy/pubsub/demo/TaskControllerSpec.groovy => async-events-pubsub-demo/src/integration-test/groovy/pubsub/demo/TimeoutControllerSpec.groovy} (75%)
create mode 100644 grails-web-url-mappings/src/test/groovy/org/grails/web/mapping/mvc/UrlMappingsInfoHandlerAdapterAsyncSpec.groovy