This is an automated email from the ASF dual-hosted git repository.

asf-ci-deploy pushed a commit to branch asf-site-production
in repository https://gitbox.apache.org/repos/asf/grails-website.git


The following commit(s) were added to refs/heads/asf-site-production by this 
push:
     new ec986ec88c4 Deploying to documentation branch - 14:11:29
ec986ec88c4 is described below

commit ec986ec88c465f684d352337710334f5ede0ccb5
Author: jdaugherty <[email protected]>
AuthorDate: Sat Feb 21 14:11:31 2026 +0000

    Deploying to documentation branch - 14:11:29
---
 docs/snapshot/api/allclasses-frame.html            |   3 +
 docs/snapshot/api/index-all.html                   |  52 ++++
 .../testing/tck/base/GrailsDataTckManager.html     |  60 ++++-
 .../WhereRoutingItem.html}                         | 225 ++++++----------
 .../tck/domains/WhereRoutingItemService.html       | 298 +++++++++++++++++++++
 .../data/testing/tck/domains/package-frame.html    |  10 +-
 .../data/testing/tck/domains/package-summary.html  |  34 +++
 .../WhereQueryConnectionRoutingSpec.html}          | 129 +++++----
 .../data/testing/tck/tests/package-frame.html      |   2 +-
 .../data/testing/tck/tests/package-summary.html    |   8 +
 .../gorm/services/DefaultTenantService.html        |   4 +-
 .../gorm/services/DefaultTransactionService.html   |   4 +-
 .../gradle/plugin/core/GrailsGradlePlugin.html     |  72 +++--
 .../plugin/core/GrailsPluginGradlePlugin.html      |   2 +-
 .../gradle/plugin/web/GrailsWebGradlePlugin.html   |   2 +-
 .../developer-manual/gettingStarted.html           |   2 +-
 .../grails-data/developer-manual/introduction.html |   2 +-
 .../grails-data/developer-manual/stepByStep.html   |   2 +-
 .../grails-data/developer-manual/testing.html      |   2 +-
 .../developer-manual/understandingApi.html         |   2 +-
 .../understandingApi/datastoreBasics.html          |   2 +-
 .../understandingApi/gormApis.html                 |   2 +-
 .../understandingApi/gormEnhancer.html             |   2 +-
 .../understandingApi/implementingCrud.html         |   2 +-
 .../understandingApi/implementingQueries.html      |   2 +-
 .../understandingApi/secondaryIndexes.html         |   2 +-
 .../grails-data/whats-new-manual/index.html        |   2 +-
 docs/snapshot/ref/Versions/Grails BOM.html         |   4 +-
 28 files changed, 670 insertions(+), 263 deletions(-)

diff --git a/docs/snapshot/api/allclasses-frame.html 
b/docs/snapshot/api/allclasses-frame.html
index e8966936e0e..ce544fd63c1 100644
--- a/docs/snapshot/api/allclasses-frame.html
+++ b/docs/snapshot/api/allclasses-frame.html
@@ -2828,7 +2828,10 @@
 <li><a href="org/grails/gsp/jsp/WebXmlTagLibraryReader.html" title="class in 
org.grails.gsp.jsp" target="classFrame">WebXmlTagLibraryReader</a></li>
 <li><a href="grails/gorm/services/Where.html" title="annotation type in 
grails.gorm.services" target="classFrame">Where</a></li>
 <li><a href="org/apache/grails/data/testing/tck/tests/WhereLazySpec.html" 
title="class in org.apache.grails.data.testing.tck.tests" 
target="classFrame">WhereLazySpec</a></li>
+<li><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html"
 title="class in org.apache.grails.data.testing.tck.tests" 
target="classFrame">WhereQueryConnectionRoutingSpec</a></li>
 <li><a href="org/grails/compiler/WhereQueryTypeCheckingExtension.html" 
title="class in org.grails.compiler" 
target="classFrame">WhereQueryTypeCheckingExtension</a></li>
+<li><a href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html" 
title="class in org.apache.grails.data.testing.tck.domains" 
target="classFrame">WhereRoutingItem</a></li>
+<li><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html" 
title="interface in org.apache.grails.data.testing.tck.domains" 
target="classFrame"><I>WhereRoutingItemService</I></a></li>
 <li><a href="org/grails/taglib/encoder/WithCodecHelper.html" title="class in 
org.grails.taglib.encoder" target="classFrame">WithCodecHelper</a></li>
 <li><a 
href="org/apache/grails/data/testing/tck/tests/WithTransactionSpec.html" 
title="class in org.apache.grails.data.testing.tck.tests" 
target="classFrame">WithTransactionSpec</a></li>
 <li><a href="org/grails/datastore/gorm/mongo/WithinBox.html" title="class in 
org.grails.datastore.gorm.mongo" target="classFrame">WithinBox</a></li>
diff --git a/docs/snapshot/api/index-all.html b/docs/snapshot/api/index-all.html
index 28462206cb9..d7d3d09b835 100644
--- a/docs/snapshot/api/index-all.html
+++ b/docs/snapshot/api/index-all.html
@@ -1530,6 +1530,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/connections/HibernateConnectionSourceSettings.HibernateSettings.FlushSettings.FlushMode.html#ALWAYS"
 title="Enum Constant in 
HibernateConnectionSourceSettings.HibernateSettings.FlushSettings.FlushMode">ALWAYS</a></span>
 - Enum Constant in <a 
href="org/grails/orm/hibernate/connections/HibernateConnectionSourceSettings.HibernateSettings.FlushSettings.FlushMode.html">HibernateConnectionSourceSettings.HibernateSettings.FlushSettings.
 [...]
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#amount" 
title="Property in WhereRoutingItem">amount</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/query/criteria/AbstractCriteriaBuilder.html#and(groovy.lang.Closure)"
 title="Method in AbstractCriteriaBuilder">and(groovy.lang.Closure)</a></span> 
- Method in <a 
href="org/grails/datastore/gorm/query/criteria/AbstractCriteriaBuilder.html">AbstractCriteriaBuilder</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/query/criteria/AbstractDetachedCriteria.html#and(groovy.lang.Closure)"
 title="Method in AbstractDetachedCriteria">and(groovy.lang.Closure)</a></span> 
- Method in <a 
href="org/grails/datastore/gorm/query/criteria/AbstractDetachedCriteria.html">AbstractDetachedCriteria</a>
@@ -4682,6 +4684,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/testing/spock/WebCleanupInterceptor.html#cleanup(grails.testing.web.GrailsWebUnitTest)"
 title="Method in 
WebCleanupInterceptor">cleanup(grails.testing.web.GrailsWebUnitTest)</a></span> 
- Method in <a 
href="org/grails/testing/spock/WebCleanupInterceptor.html">WebCleanupInterceptor</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#cleanup()"
 title="Method in WhereQueryConnectionRoutingSpec">cleanup()</a></span> - 
Method in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/testing/spock/CleanupContextInterceptor.html" title="Class in 
org.grails.testing.spock">CleanupContextInterceptor</a></span> - Class in <a 
href="./org/grails/testing/spock/package-summary.html">org.grails.testing.spock</a>
 </dt><dd><div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/testing/spock/CleanupContextInterceptor.html#CleanupContextInterceptor()"
 title="Constructor in 
CleanupContextInterceptor">CleanupContextInterceptor()</a></span> - Constructor 
in <a 
href="org/grails/testing/spock/CleanupContextInterceptor.html">CleanupContextInterceptor</a>
@@ -4694,6 +4698,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/web/util/WebUtils.html#cleanupIncludeRequestAttributes(jakarta.servlet.http.HttpServletRequest,
 Map<String,Object>)" title="Method in 
WebUtils">cleanupIncludeRequestAttributes(jakarta.servlet.http.HttpServletRequest,
 Map&lt;String,Object&gt;)</a></span> - Method in <a 
href="org/grails/web/util/WebUtils.html">WebUtils</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html#cleanupMultiDataSource()"
 title="Method in GrailsDataTckManager">cleanupMultiDataSource()</a></span> - 
Method in <a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html">GrailsDataTckManager</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html#cleanupSpec()"
 title="Method in GrailsDataTckManager">cleanupSpec()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html">GrailsDataTckManager</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html#cleanupSpec()"
 title="Method in GrailsDataTckSpec">cleanupSpec()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html">GrailsDataTckSpec</a>
@@ -5892,6 +5898,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/gradle/plugin/core/GrailsPluginGradlePlugin.html#configureJarTask(org.gradle.api.Project)"
 title="Method in 
GrailsPluginGradlePlugin">configureJarTask(org.gradle.api.Project)</a></span> - 
Method in <a 
href="org/grails/gradle/plugin/core/GrailsPluginGradlePlugin.html">GrailsPluginGradlePlugin</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/grails/gradle/plugin/core/GrailsGradlePlugin.html#configureJavaCompatibilityArgs(org.gradle.api.Project)"
 title="Method in 
GrailsGradlePlugin">configureJavaCompatibilityArgs(org.gradle.api.Project)</a></span>
 - Method in <a 
href="org/grails/gradle/plugin/core/GrailsGradlePlugin.html">GrailsGradlePlugin</a>
+</dt><dd> <div class="block">Configures JVM arguments required for 
compatibility with Java 23+.</div></dd>
 <dt><span class="strong"><a 
href="org/grails/plugins/databasemigration/command/ApplicationContextDatabaseMigrationCommand.html#configureLiquibase()"
 title="Method in 
ApplicationContextDatabaseMigrationCommand">configureLiquibase()</a></span> - 
Method in <a 
href="org/grails/plugins/databasemigration/command/ApplicationContextDatabaseMigrationCommand.html">ApplicationContextDatabaseMigrationCommand</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/plugins/databasemigration/command/ScriptDatabaseMigrationCommand.html#configureLiquibase()"
 title="Method in 
ScriptDatabaseMigrationCommand">configureLiquibase()</a></span> - Method in <a 
href="org/grails/plugins/databasemigration/command/ScriptDatabaseMigrationCommand.html">ScriptDatabaseMigrationCommand</a>
@@ -6172,6 +6180,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/UniqueGroup.html#constraints" 
title="Property in UniqueGroup">constraints</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/UniqueGroup.html">UniqueGroup</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#constraints"
 title="Property in WhereRoutingItem">constraints</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/validation/constraints/eval/ConstraintsEvaluator.html"
 title="Interface in 
org.grails.datastore.gorm.validation.constraints.eval">ConstraintsEvaluator</a></span>
 - Interface in <a 
href="./org/grails/datastore/gorm/validation/constraints/eval/package-summary.html">org.grails.datastore.gorm.validation.constraints.eval</a>
 </dt><dd><div class="block">Evaluates Constraints for a GORM entity</div></dd>
 <dt><span class="strong"><a 
href="grails/plugin/formfields/BeanPropertyAccessorFactory.html#constraintsEvaluator"
 title="Property in 
BeanPropertyAccessorFactory">constraintsEvaluator</a></span> - Property in <a 
href="grails/plugin/formfields/BeanPropertyAccessorFactory.html">BeanPropertyAccessorFactory</a>
@@ -6951,6 +6961,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd><div class="block">Thrown when no Hibernate dialect could be found 
for a database name.</div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/exceptions/CouldNotDetermineHibernateDialectException.html#CouldNotDetermineHibernateDialectException(java.lang.String,
 java.lang.Throwable)" title="Constructor in 
CouldNotDetermineHibernateDialectException">CouldNotDetermineHibernateDialectException(java.lang.String,
 java.lang.Throwable)</a></span> - Constructor in <a 
href="org/grails/orm/hibernate/exceptions/CouldNotDetermineHibernateDialectException.html">CouldNotDetermineHibe
 [...]
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#count
 routes to secondary datasource()" title="Method in 
WhereQueryConnectionRoutingSpec">count routes to secondary 
datasource()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/query/criteria/AbstractCriteriaBuilder.html#count()"
 title="Method in AbstractCriteriaBuilder">count()</a></span> - Method in <a 
href="org/grails/datastore/gorm/query/criteria/AbstractCriteriaBuilder.html">AbstractCriteriaBuilder</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/query/criteria/AbstractDetachedCriteria.DetachedProjections.html#count()"
 title="Method in 
AbstractDetachedCriteria.DetachedProjections">count()</a></span> - Method in <a 
href="org/grails/datastore/gorm/query/criteria/AbstractDetachedCriteria.DetachedProjections.html">AbstractDetachedCriteria.DetachedProjections</a>
@@ -6996,6 +7008,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/multitenancy/TenantDelegatingGormOperations.html#count()"
 title="Method in TenantDelegatingGormOperations">count()</a></span> - Method 
in <a 
href="org/grails/datastore/gorm/multitenancy/TenantDelegatingGormOperations.html">TenantDelegatingGormOperations</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html#count()"
 title="Method in WhereRoutingItemService">count()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html">WhereRoutingItemService</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/finders/CountByFinder.html" title="Class in 
org.grails.datastore.gorm.finders">CountByFinder</a></span> - Class in <a 
href="./org/grails/datastore/gorm/finders/package-summary.html">org.grails.datastore.gorm.finders</a>
 </dt><dd><div class="block">Supports counting objects. </div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/finders/CountByFinder.html#CountByFinder(org.grails.datastore.mapping.model.MappingContext)"
 title="Constructor in 
CountByFinder">CountByFinder(org.grails.datastore.mapping.model.MappingContext)</a></span>
 - Constructor in <a 
href="org/grails/datastore/gorm/finders/CountByFinder.html">CountByFinder</a>
@@ -13132,6 +13146,12 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd><div class="block"> 
<DL><DT><B>Authors:</B></DT><DD>graemerocher</DD></DL></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/FindByMethodSpec.html#FindByMethodSpec()"
 title="Constructor in FindByMethodSpec">FindByMethodSpec()</a></span> - 
Constructor in <a 
href="org/apache/grails/data/testing/tck/tests/FindByMethodSpec.html">FindByMethodSpec</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html#findByMinAmount(java.lang.Double)"
 title="Method in 
WhereRoutingItemService">findByMinAmount(java.lang.Double)</a></span> - Method 
in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html">WhereRoutingItemService</a>
+</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#findByName
 routes to secondary datasource()" title="Method in 
WhereQueryConnectionRoutingSpec">findByName routes to secondary 
datasource()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html#findByName(java.lang.String)"
 title="Method in 
WhereRoutingItemService">findByName(java.lang.String)</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html">WhereRoutingItemService</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/cli/compiler/ExtendedGroovyClassLoader.html#findClass(java.lang.String)"
 title="Method in 
ExtendedGroovyClassLoader">findClass(java.lang.String)</a></span> - Method in 
<a 
href="org/grails/cli/compiler/ExtendedGroovyClassLoader.html">ExtendedGroovyClassLoader</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="grails/io/IOUtils.html#findClassResource(java.lang.Class)" title="Method 
in IOUtils">findClassResource(java.lang.Class)</a></span> - Method in <a 
href="grails/io/IOUtils.html">IOUtils</a>
@@ -20195,6 +20215,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block">Obtain a service for the given 
interface</div></dd>
 <dt><span class="strong"><a 
href="grails/testing/services/ServiceUnitTest.html#getService()" title="Method 
in ServiceUnitTest">getService()</a></span> - Method in <a 
href="grails/testing/services/ServiceUnitTest.html">ServiceUnitTest</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html#getServiceForConnection(java.lang.Class,
 java.lang.String)" title="Method in 
GrailsDataTckManager">getServiceForConnection(java.lang.Class, 
java.lang.String)</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html">GrailsDataTckManager</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/cfg/HibernateMappingContextConfiguration.html#getServiceRegistry()"
 title="Method in 
HibernateMappingContextConfiguration">getServiceRegistry()</a></span> - Method 
in <a 
href="org/grails/orm/hibernate/cfg/HibernateMappingContextConfiguration.html">HibernateMappingContextConfiguration</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/mapping/core/AbstractDatastore.html#getServices()" 
title="Method in AbstractDatastore">getServices()</a></span> - Method in <a 
href="org/grails/datastore/mapping/core/AbstractDatastore.html">AbstractDatastore</a>
@@ -24223,6 +24245,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/UniqueGroup.html#id" 
title="Property in UniqueGroup">id</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/UniqueGroup.html">UniqueGroup</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#id" 
title="Property in WhereRoutingItem">id</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/gradle/plugin/core/IntegrationTestGradlePlugin.html#ideaIntegration"
 title="Property in IntegrationTestGradlePlugin">ideaIntegration</a></span> - 
Property in <a 
href="org/grails/gradle/plugin/core/IntegrationTestGradlePlugin.html">IntegrationTestGradlePlugin</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/DelegatingGormEntityApi.html#ident()" 
title="Method in DelegatingGormEntityApi">ident()</a></span> - Method in <a 
href="org/grails/datastore/gorm/DelegatingGormEntityApi.html">DelegatingGormEntityApi</a>
@@ -27336,6 +27360,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd><div class="block"></div></dd>
 <dt><span class="strong"><a href="grails/doc/ItalicFilter.html#ItalicFilter()" 
title="Constructor in ItalicFilter">ItalicFilter()</a></span> - Constructor in 
<a href="grails/doc/ItalicFilter.html">ItalicFilter</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#itemService"
 title="Property in WhereQueryConnectionRoutingSpec">itemService</a></span> - 
Property in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/services/implementers/IterableInterfaceProjectionBuilder.html"
 title="Trait in 
org.grails.datastore.gorm.services.implementers">IterableInterfaceProjectionBuilder</a></span>
 - Trait in <a 
href="./org/grails/datastore/gorm/services/implementers/package-summary.html">org.grails.datastore.gorm.services.implementers</a>
 </dt><dd><div class="block">Projection builder for iterable results like lists 
and arrays</div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/services/implementers/IterableProjectionServiceImplementer.html"
 title="Interface in 
org.grails.datastore.gorm.services.implementers">IterableProjectionServiceImplementer</a></span>
 - Interface in <a 
href="./org/grails/datastore/gorm/services/implementers/package-summary.html">org.grails.datastore.gorm.services.implementers</a>
@@ -28457,6 +28483,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/cfg/GrailsDomainBinder.html#linkValueUsingAColumnCopy(org.grails.datastore.mapping.model.PersistentProperty,
 org.hibernate.mapping.Column, org.hibernate.mapping.DependantValue)" 
title="Method in 
GrailsDomainBinder">linkValueUsingAColumnCopy(org.grails.datastore.mapping.model.PersistentProperty,
 org.hibernate.mapping.Column, org.hibernate.mapping.DependantValue)</a></span> 
- Method in <a href="org/grails/orm/hibernate/cfg/GrailsDo [...]
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#list
 routes to secondary datasource()" title="Method in 
WhereQueryConnectionRoutingSpec">list routes to secondary 
datasource()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/query/AbstractHibernateCriteriaBuilder.html#list(java.util.Map,
 groovy.lang.Closure)" title="Method in 
AbstractHibernateCriteriaBuilder">list(java.util.Map, 
groovy.lang.Closure)</a></span> - Method in <a 
href="org/grails/orm/hibernate/query/AbstractHibernateCriteriaBuilder.html">AbstractHibernateCriteriaBuilder</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/query/AbstractHibernateQuery.html#list()" 
title="Method in AbstractHibernateQuery">list()</a></span> - Method in <a 
href="org/grails/orm/hibernate/query/AbstractHibernateQuery.html">AbstractHibernateQuery</a>
@@ -28501,6 +28529,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block">List all results</div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/gorm/multitenancy/TenantDelegatingGormOperations.html#list()"
 title="Method in TenantDelegatingGormOperations">list()</a></span> - Method in 
<a 
href="org/grails/datastore/gorm/multitenancy/TenantDelegatingGormOperations.html">TenantDelegatingGormOperations</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html#list()"
 title="Method in WhereRoutingItemService">list()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html">WhereRoutingItemService</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="grails/rest/RestfulController.html#listAllResources(java.util.Map)" 
title="Method in RestfulController">listAllResources(java.util.Map)</a></span> 
- Method in <a href="grails/rest/RestfulController.html">RestfulController</a>
 </dt><dd> <div class="block">List all of resource based on 
parameters</div></dd>
 <dt><span class="strong"><a 
href="grails/plugin/scaffolding/RestfulServiceController.html#listAllResources(java.util.Map)"
 title="Method in 
RestfulServiceController">listAllResources(java.util.Map)</a></span> - Method 
in <a 
href="grails/plugin/scaffolding/RestfulServiceController.html">RestfulServiceController</a>
@@ -29394,6 +29424,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/TestEntity.html#mapping" 
title="Property in TestEntity">mapping</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/TestEntity.html">TestEntity</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#mapping" 
title="Property in WhereRoutingItem">mapping</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="grails/orm/hibernate/mapping/MappingBuilder.html" title="Class in 
grails.orm.hibernate.mapping">MappingBuilder</a></span> - Class in <a 
href="./grails/orm/hibernate/mapping/package-summary.html">grails.orm.hibernate.mapping</a>
 </dt><dd><div class="block">Entry point for the ORM mapping configuration 
DSL</div></dd>
 <dt><span class="strong"><a 
href="grails/orm/hibernate/mapping/MappingBuilder.html#MappingBuilder()" 
title="Constructor in MappingBuilder">MappingBuilder()</a></span> - Constructor 
in <a href="grails/orm/hibernate/mapping/MappingBuilder.html">MappingBuilder</a>
@@ -30987,6 +31019,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a href="grails/doc/internal/UserGuideNode.html#name" 
title="Property in UserGuideNode">name</a></span> - Property in <a 
href="grails/doc/internal/UserGuideNode.html">UserGuideNode</a>
 </dt><dd> <div class="block">The identifier for this node. </div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#name" 
title="Property in WhereRoutingItem">name</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/web/converters/marshaller/NameAwareMarshaller.html" 
title="Interface in 
org.grails.web.converters.marshaller">NameAwareMarshaller</a></span> - 
Interface in <a 
href="./org/grails/web/converters/marshaller/package-summary.html">org.grails.web.converters.marshaller</a>
 </dt><dd><div class="block">Specialized ObjectMarshaller which defines the Tag 
Name for XML Conversion.</div></dd>
 <dt><span class="strong"><a href="grails/doc/DocEngine.html#nameCache" 
title="Property in DocEngine">nameCache</a></span> - Property in <a 
href="grails/doc/DocEngine.html">DocEngine</a>
@@ -39514,6 +39548,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/testing/spock/WebSetupSpecInterceptor.html#setup(grails.testing.web.GrailsWebUnitTest)"
 title="Method in 
WebSetupSpecInterceptor">setup(grails.testing.web.GrailsWebUnitTest)</a></span> 
- Method in <a 
href="org/grails/testing/spock/WebSetupSpecInterceptor.html">WebSetupSpecInterceptor</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#setup()"
 title="Method in WhereQueryConnectionRoutingSpec">setup()</a></span> - Method 
in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="grails/plugin/geb/WebDriverContainerHolder.html#setupBrowserUrl(org.spockframework.runtime.extension.IMethodInvocation)"
 title="Method in 
WebDriverContainerHolder">setupBrowserUrl(org.spockframework.runtime.extension.IMethodInvocation)</a></span>
 - Method in <a 
href="grails/plugin/geb/WebDriverContainerHolder.html">WebDriverContainerHolder</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/cli/GrailsCli.html#setupCompleters()" title="Method in 
GrailsCli">setupCompleters()</a></span> - Method in <a 
href="org/grails/cli/GrailsCli.html">GrailsCli</a>
@@ -39536,6 +39572,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block">Initializes the Errors property on target.  
</div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/support/HibernateRuntimeUtils.html#setupErrorsProperty(java.lang.Object)"
 title="Method in 
HibernateRuntimeUtils">setupErrorsProperty(java.lang.Object)</a></span> - 
Method in <a 
href="org/grails/orm/hibernate/support/HibernateRuntimeUtils.html">HibernateRuntimeUtils</a>
 </dt><dd> <div class="block">Initializes the Errors property on target.  
</div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html#setupMultiDataSource(java.lang.Class)"
 title="Method in 
GrailsDataTckManager">setupMultiDataSource(java.lang.Class)</a></span> - Method 
in <a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html">GrailsDataTckManager</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec.html#setupSpec()"
 title="Method in 
BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec">setupSpec()</a></span>
 - Method in <a 
href="org/apache/grails/data/testing/tck/tests/BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec.html">BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/ConstraintsSpec.html#setupSpec()"
 title="Method in ConstraintsSpec">setupSpec()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/tests/ConstraintsSpec.html">ConstraintsSpec</a>
@@ -41302,6 +41340,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/orm/hibernate/cfg/GrailsDomainBinder.html#supportsJoinColumnMapping(org.grails.datastore.mapping.model.PersistentProperty)"
 title="Method in 
GrailsDomainBinder">supportsJoinColumnMapping(org.grails.datastore.mapping.model.PersistentProperty)</a></span>
 - Method in <a 
href="org/grails/orm/hibernate/cfg/GrailsDomainBinder.html">GrailsDomainBinder</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html#supportsMultipleDataSources()"
 title="Method in 
GrailsDataTckManager">supportsMultipleDataSources()</a></span> - Method in <a 
href="org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html">GrailsDataTckManager</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/plugins/databasemigration/liquibase/GroovyChange.html#supportsRollback(liquibase.database.Database)"
 title="Method in 
GroovyChange">supportsRollback(liquibase.database.Database)</a></span> - Method 
in <a 
href="org/grails/plugins/databasemigration/liquibase/GroovyChange.html">GroovyChange</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/core/AbstractGrailsApplication.html#supportsSourceType(Class<?>)"
 title="Method in 
AbstractGrailsApplication">supportsSourceType(Class&lt;?&gt;)</a></span> - 
Method in <a 
href="org/grails/core/AbstractGrailsApplication.html">AbstractGrailsApplication</a>
@@ -44098,6 +44138,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/plugins/web/mapping/UrlMappingsGrailsPlugin.html#version" 
title="Property in UrlMappingsGrailsPlugin">version</a></span> - Property in <a 
href="org/grails/plugins/web/mapping/UrlMappingsGrailsPlugin.html">UrlMappingsGrailsPlugin</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#version" 
title="Property in WhereRoutingItem">version</a></span> - Property in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/datastore/mapping/config/AbstractGormMappingFactory.html#versionByDefault"
 title="Field in AbstractGormMappingFactory">versionByDefault</a></span> - 
Field in <a 
href="org/grails/datastore/mapping/config/AbstractGormMappingFactory.html">AbstractGormMappingFactory</a>
 </dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a href="grails/plugins/VersionComparator.html" 
title="Class in grails.plugins">VersionComparator</a></span> - Class in <a 
href="./grails/plugins/package-summary.html">grails.plugins</a>
@@ -44661,10 +44703,20 @@ if (location.href.indexOf('is-external=true') == -1) {
 </dt><dd><div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereLazySpec.html#WhereLazySpec()"
 title="Constructor in WhereLazySpec">WhereLazySpec()</a></span> - Constructor 
in <a 
href="org/apache/grails/data/testing/tck/tests/WhereLazySpec.html">WhereLazySpec</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html"
 title="Class in 
org.apache.grails.data.testing.tck.tests">WhereQueryConnectionRoutingSpec</a></span>
 - Class in <a 
href="./org/apache/grails/data/testing/tck/tests/package-summary.html">org.apache.grails.data.testing.tck.tests</a>
+</dt><dd><div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html#WhereQueryConnectionRoutingSpec()"
 title="Constructor in 
WhereQueryConnectionRoutingSpec">WhereQueryConnectionRoutingSpec()</a></span> - 
Constructor in <a 
href="org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html">WhereQueryConnectionRoutingSpec</a>
+</dt><dd> <div class="block"></div></dd>
 <dt><span class="strong"><a 
href="org/grails/compiler/WhereQueryTypeCheckingExtension.html" title="Class in 
org.grails.compiler">WhereQueryTypeCheckingExtension</a></span> - Class in <a 
href="./org/grails/compiler/package-summary.html">org.grails.compiler</a>
 </dt><dd><div class="block"> 
<DL><DT><B>Since:</B></DT><DD>2.4.1</DD></DL></div></dd>
 <dt><span class="strong"><a 
href="org/grails/compiler/WhereQueryTypeCheckingExtension.html#WhereQueryTypeCheckingExtension()"
 title="Constructor in 
WhereQueryTypeCheckingExtension">WhereQueryTypeCheckingExtension()</a></span> - 
Constructor in <a 
href="org/grails/compiler/WhereQueryTypeCheckingExtension.html">WhereQueryTypeCheckingExtension</a>
 </dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html" 
title="Class in 
org.apache.grails.data.testing.tck.domains">WhereRoutingItem</a></span> - Class 
in <a 
href="./org/apache/grails/data/testing/tck/domains/package-summary.html">org.apache.grails.data.testing.tck.domains</a>
+</dt><dd><div class="block">Domain class mapped to ALL datasources for 
multi-datasource connection routing TCK tests.</div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html#WhereRoutingItem()"
 title="Constructor in WhereRoutingItem">WhereRoutingItem()</a></span> - 
Constructor in <a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html">WhereRoutingItem</a>
+</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a 
href="org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html" 
title="Interface in 
org.apache.grails.data.testing.tck.domains">WhereRoutingItemService</a></span> 
- Interface in <a 
href="./org/apache/grails/data/testing/tck/domains/package-summary.html">org.apache.grails.data.testing.tck.domains</a>
+</dt><dd><div class="block"></div></dd>
 <dt><span class="strong"><a 
href="grails/gorm/validation/DefaultConstrainedProperty.html#widget" 
title="Property in DefaultConstrainedProperty">widget</a></span> - Property in 
<a 
href="grails/gorm/validation/DefaultConstrainedProperty.html">DefaultConstrainedProperty</a>
 </dt><dd> <div class="block">The widget to use to render the 
property</div></dd>
 <dt><span class="strong"><a 
href="org/grails/plugins/web/interceptors/UrlMappingMatcher.html#WILD_CARD_PATTERN"
 title="Field in UrlMappingMatcher">WILD_CARD_PATTERN</a></span> - Field in <a 
href="org/grails/plugins/web/interceptors/UrlMappingMatcher.html">UrlMappingMatcher</a>
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
index 43e2aa3dc48..a0464ae8e70 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
@@ -210,21 +210,33 @@ extends java.lang.Object</pre>
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanupSpec()">cleanupSpec</a></strong>()</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#cleanupMultiDataSource()">cleanupMultiDataSource</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
+                            <td class="colFirst"><code></code></td>
+                            <td class="colLast"><code>void</code></td>
+                            <td class="colLast"><code><strong><a 
href="#cleanupSpec()">cleanupSpec</a></strong>()</code><br></td>
+                        </tr>
+                        
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>abstract&nbsp;<a 
href='../../../../../../../org/grails/datastore/mapping/core/Session.html'>Session</a></code></td>
                             <td class="colLast"><code><strong><a 
href="#createSession()">createSession</a></strong>()</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
                             <td class="colLast"><code><strong><a 
href="#destroy()">destroy</a></strong>()</code><br></td>
                         </tr>
                         
+                        <tr class="altColor">
+                            <td class="colFirst"><code></code></td>
+                            <td 
class="colLast"><code>java.lang.Object</code></td>
+                            <td class="colLast"><code><strong><a 
href="#getServiceForConnection(java.lang.Class, 
java.lang.String)">getServiceForConnection</a></strong>(java.lang.Class 
serviceType, java.lang.String connectionName)</code><br></td>
+                        </tr>
+                        
                         <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
@@ -232,11 +244,23 @@ extends java.lang.Object</pre>
                         </tr>
                         
                         <tr class="altColor">
+                            <td class="colFirst"><code></code></td>
+                            <td class="colLast"><code>void</code></td>
+                            <td class="colLast"><code><strong><a 
href="#setupMultiDataSource(java.lang.Class)">setupMultiDataSource</a></strong>(java.lang.Class[]
 domainClasses)</code><br></td>
+                        </tr>
+                        
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
                             <td class="colLast"><code><strong><a 
href="#setupSpec()">setupSpec</a></strong>()</code><br></td>
                         </tr>
                         
+                        <tr class="altColor">
+                            <td class="colFirst"><code></code></td>
+                            <td class="colLast"><code>boolean</code></td>
+                            <td class="colLast"><code><strong><a 
href="#supportsMultipleDataSources()">supportsMultipleDataSources</a></strong>()</code><br></td>
+                        </tr>
+                        
                     </table>
                    </ul>
               </li>
@@ -355,6 +379,14 @@ extends java.lang.Object</pre>
                             </li>
                         </ul>
                     
+                        <a name="cleanupMultiDataSource()"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>void 
<strong>cleanupMultiDataSource</strong>()</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
                         <a name="cleanupSpec()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
@@ -379,6 +411,14 @@ extends java.lang.Object</pre>
                             </li>
                         </ul>
                     
+                        <a name="getServiceForConnection(java.lang.Class, 
java.lang.String)"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>java.lang.Object 
<strong>getServiceForConnection</strong>(java.lang.Class serviceType, 
java.lang.String connectionName)</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
                         <a name="setup(Class)"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
@@ -387,6 +427,14 @@ extends java.lang.Object</pre>
                             </li>
                         </ul>
                     
+                        <a name="setupMultiDataSource(java.lang.Class)"><!-- 
--></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>void 
<strong>setupMultiDataSource</strong>(java.lang.Class[] domainClasses)</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
                         <a name="setupSpec()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
@@ -395,6 +443,14 @@ extends java.lang.Object</pre>
                             </li>
                         </ul>
                     
+                        <a name="supportsMultipleDataSources()"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>boolean 
<strong>supportsMultipleDataSources</strong>()</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
                 </li>
             </ul>
             
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html
similarity index 62%
copy from 
docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
copy to 
docs/snapshot/api/org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html
index 43e2aa3dc48..832c230454c 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html
@@ -27,7 +27,7 @@
 <html>
 <head>
     <!-- Generated by groovydoc (4.0.30) -->
-    <title>GrailsDataTckManager (Grails 7.0.8-SNAPSHOT)</title>
+    <title>WhereRoutingItem (Grails 7.0.8-SNAPSHOT)</title>
     
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <link href="../../../../../../../groovy.ico" type="image/x-icon" 
rel="shortcut icon">
@@ -37,7 +37,7 @@
 <body class="center">
 <script type="text/javascript"><!--
 if (location.href.indexOf('is-external=true') == -1) {
-    parent.document.title="GrailsDataTckManager (Grails 7.0.8-SNAPSHOT)";
+    parent.document.title="WhereRoutingItem (Grails 7.0.8-SNAPSHOT)";
 }
 //-->
 </script>
@@ -63,18 +63,18 @@ if (location.href.indexOf('is-external=true') == -1) {
 <div class="subNav">
     <div>
         <ul class="navList">
-            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/base/GrailsDataTckManager"
 target="_top">Frames</a></li>
-            <li><a href="GrailsDataTckManager.html" target="_top">No 
Frames</a></li>
+            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/domains/WhereRoutingItem"
 target="_top">Frames</a></li>
+            <li><a href="WhereRoutingItem.html" target="_top">No 
Frames</a></li>
         </ul>
     </div>
     <div>
         <ul class="subNavList">
             <li>Summary:&nbsp;</li>
-            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a 
href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
+            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a 
href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;Method&nbsp;&nbsp;&nbsp;
         </ul>
         <ul class="subNavList">
             <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
-            Field&nbsp;&nbsp;&nbsp;<li><a 
href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
+            Field&nbsp;&nbsp;&nbsp;<li><a 
href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;Method&nbsp;&nbsp;&nbsp;
         </ul>
     </div>
     <a name="skip-navbar_top">
@@ -85,24 +85,33 @@ if (location.href.indexOf('is-external=true') == -1) {
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 
-    <div class="subTitle">Package: 
<strong>org.apache.grails.data.testing.tck.base</strong></div>
+    <div class="subTitle">Package: 
<strong>org.apache.grails.data.testing.tck.domains</strong></div>
 
-    <h2 title="[Groovy] Class GrailsDataTckManager" class="title">[Groovy] 
Class GrailsDataTckManager</h2>
+    <h2 title="[Groovy] Class WhereRoutingItem" class="title">[Groovy] Class 
WhereRoutingItem</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li><ul 
class="inheritance"></ul></li><li>org.apache.grails.data.testing.tck.base.GrailsDataTckManager
+<li><ul 
class="inheritance"></ul></li><li>org.apache.grails.data.testing.tck.domains.WhereRoutingItem
 </ul>
 <div class="description">
     <ul class="blockList">
         <li class="blockList">
 
+            <dl>
+                <dt>All Implemented Interfaces and Traits:</dt>
+                <dd>GormEntity&lt;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'
 title='WhereRoutingItem'>WhereRoutingItem</a>&gt;</dd>
+            </dl>
+    
 
             <!-- todo: direct known subclasses -->
             <hr>
 
-<pre>abstract class GrailsDataTckManager
-extends java.lang.Object</pre>
+<pre>@<a href='../../../../../../../grails/gorm/Entity.html' 
title='Entity'>Entity</a>
+class WhereRoutingItem
+extends java.lang.Object
+implements GormEntity&lt;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'
 title='WhereRoutingItem'>WhereRoutingItem</a>&gt;</pre>
+
+    <p> Domain class mapped to ALL datasources for multi-datasource connection 
routing TCK tests.</p>
 
           </li>
     </ul>
@@ -133,18 +142,33 @@ extends java.lang.Object</pre>
                         </tr>
                         
                         <tr class="altColor">
+                            <td 
class="colFirst"><code><strong>java.lang.Double</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a 
href="#amount">amount</a></code><br></td>
+                        </tr>
+                        
+                        <tr class="rowColor">
                             <td 
class="colFirst"><code><strong>static&nbsp;java.lang.Object</strong></code>&nbsp;</td>
-                            <td class="colLast"><code><a 
href="#CURRENT_TEST_NAME">CURRENT_TEST_NAME</a></code><br></td>
+                            <td class="colLast"><code><a 
href="#constraints">constraints</a></code><br></td>
+                        </tr>
+                        
+                        <tr class="altColor">
+                            <td 
class="colFirst"><code><strong>java.lang.Long</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a 
href="#id">id</a></code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
-                            <td 
class="colFirst"><code><strong>java.util.List&lt;java.lang.Class&gt;</strong></code>&nbsp;</td>
-                            <td class="colLast"><code><a 
href="#domainClasses">domainClasses</a></code><br></td>
+                            <td 
class="colFirst"><code><strong>static&nbsp;java.lang.Object</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a 
href="#mapping">mapping</a></code><br></td>
                         </tr>
                         
                         <tr class="altColor">
-                            <td class="colFirst"><code><strong><a 
href='../../../../../../../org.hibernate.Session.html'>Session</a></strong></code>&nbsp;</td>
-                            <td class="colLast"><code><a 
href="#session">session</a></code><br></td>
+                            <td 
class="colFirst"><code><strong>java.lang.String</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a 
href="#name">name</a></code><br></td>
+                        </tr>
+                        
+                        <tr class="rowColor">
+                            <td 
class="colFirst"><code><strong>java.lang.Long</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a 
href="#version">version</a></code><br></td>
                         </tr>
                         
                     </table>
@@ -171,7 +195,7 @@ extends java.lang.Object</pre>
                         
                         <tr class="altColor">
                             <td class="colFirst">
-                                <code><strong><a 
href="#GrailsDataTckManager()">GrailsDataTckManager</a></strong>()</code><br></td>
+                                <code><strong><a 
href="#WhereRoutingItem()">WhereRoutingItem</a></strong>()</code><br></td>
                         </tr>
                         
                     </table>
@@ -184,63 +208,6 @@ extends java.lang.Object</pre>
         <!-- ========== METHOD SUMMARY =========== -->
         <ul class="blockList">
             
-            <li class="blockList"><a name="method_summary"><!--   --></a>
-                    <h3>Methods Summary</h3>
-                    <ul class="blockList">
-                    <table class="overviewSummary" border="0" cellpadding="3" 
cellspacing="0" summary="Methods Summary table">
-                        <caption><span>Methods</span><span 
class="tabEnd">&nbsp;</span></caption>
-                        <tr>
-                            <th class="colFirst" scope="col">Type Params</th>
-                            <th class="colLast" scope="col">Return Type</th>
-                            <th class="colLast" scope="col">Name and 
description</th>
-                        </tr>
-                        
-                        <tr class="altColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanRegistry()">cleanRegistry</a></strong>()</code><br></td>
-                        </tr>
-                        
-                        <tr class="rowColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanup()">cleanup</a></strong>()</code><br></td>
-                        </tr>
-                        
-                        <tr class="altColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanupSpec()">cleanupSpec</a></strong>()</code><br></td>
-                        </tr>
-                        
-                        <tr class="rowColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>abstract&nbsp;<a 
href='../../../../../../../org/grails/datastore/mapping/core/Session.html'>Session</a></code></td>
-                            <td class="colLast"><code><strong><a 
href="#createSession()">createSession</a></strong>()</code><br></td>
-                        </tr>
-                        
-                        <tr class="altColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#destroy()">destroy</a></strong>()</code><br></td>
-                        </tr>
-                        
-                        <tr class="rowColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#setup(Class)">setup</a></strong>(java.lang.Class&lt;? extends 
Specification&gt; spec)</code><br></td>
-                        </tr>
-                        
-                        <tr class="altColor">
-                            <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#setupSpec()">setupSpec</a></strong>()</code><br></td>
-                        </tr>
-                        
-                    </table>
-                   </ul>
-              </li>
-            
             <li class="blockList"><a name="method_summary"><!--   --></a>
                     <h3>Inherited Methods Summary</h3>
                     <ul class="blockList">
@@ -280,117 +247,72 @@ extends java.lang.Object</pre>
                 </a>
                     <h3>Property Detail</h3>
                     
-                        <a name="CURRENT_TEST_NAME"><!-- --></a>
-                        <ul class="blockListLast">
-                            <li class="blockList">
-                                <h4>static&nbsp;final&nbsp;java.lang.Object 
<strong>CURRENT_TEST_NAME</strong></h4>
-                                <p></p>
-                            </li>
-                        </ul>
-                    
-                        <a name="domainClasses"><!-- --></a>
-                        <ul class="blockListLast">
-                            <li class="blockList">
-                                <h4>java.util.List&lt;java.lang.Class&gt; 
<strong>domainClasses</strong></h4>
-                                <p></p>
-                            </li>
-                        </ul>
-                    
-                        <a name="session"><!-- --></a>
+                        <a name="amount"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4><a 
href='../../../../../../../org.hibernate.Session.html'>Session</a> 
<strong>session</strong></h4>
+                                <h4>java.lang.Double 
<strong>amount</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                </li>
-            </ul>
-            
-
-            
-
-            
-            <!-- =========== CONSTRUCTOR DETAIL =========== -->
-            <ul class="blockList">
-                <li class="blockList"><a name="constructor_detail">
-                    <!--   -->
-                </a>
-                    <h3>Constructor Detail</h3>
-                    
-                        <a name="GrailsDataTckManager()"><!-- --></a>
+                        <a name="constraints"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                
<h4><strong>GrailsDataTckManager</strong>()</h4>
+                                <h4>static&nbsp;java.lang.Object 
<strong>constraints</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                </li>
-            </ul>
-            
-
-
-            
-            <!-- =========== METHOD DETAIL =========== -->
-            <ul class="blockList">
-                <li class="blockList"><a name="method_detail">
-                    <!--   -->
-                </a>
-                    <h3>Method Detail</h3>
-                    
-                        <a name="cleanRegistry()"><!-- --></a>
+                        <a name="id"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>cleanRegistry</strong>()</h4>
+                                <h4>java.lang.Long <strong>id</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="cleanup()"><!-- --></a>
+                        <a name="mapping"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>cleanup</strong>()</h4>
+                                <h4>static&nbsp;java.lang.Object 
<strong>mapping</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="cleanupSpec()"><!-- --></a>
+                        <a name="name"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>cleanupSpec</strong>()</h4>
+                                <h4>java.lang.String <strong>name</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="createSession()"><!-- --></a>
+                        <a name="version"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>abstract&nbsp;<a 
href='../../../../../../../org/grails/datastore/mapping/core/Session.html'>Session</a>
 <strong>createSession</strong>()</h4>
+                                <h4>java.lang.Long 
<strong>version</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="destroy()"><!-- --></a>
-                        <ul class="blockListLast">
-                            <li class="blockList">
-                                <h4>void <strong>destroy</strong>()</h4>
-                                <p></p>
-                            </li>
-                        </ul>
-                    
-                        <a name="setup(Class)"><!-- --></a>
-                        <ul class="blockListLast">
-                            <li class="blockList">
-                                <h4>void 
<strong>setup</strong>(java.lang.Class&lt;? extends Specification&gt; spec)</h4>
-                                <p></p>
-                            </li>
-                        </ul>
+                </li>
+            </ul>
+            
+
+            
+
+            
+            <!-- =========== CONSTRUCTOR DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="constructor_detail">
+                    <!--   -->
+                </a>
+                    <h3>Constructor Detail</h3>
                     
-                        <a name="setupSpec()"><!-- --></a>
+                        <a name="WhereRoutingItem()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>setupSpec</strong>()</h4>
+                                <h4><strong>WhereRoutingItem</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
@@ -398,6 +320,9 @@ extends java.lang.Object</pre>
                 </li>
             </ul>
             
+
+
+            
         </li>
     </ul>
 </div>
@@ -422,18 +347,18 @@ extends java.lang.Object</pre>
 <div class="subNav">
     <div>
         <ul class="navList">
-            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/base/GrailsDataTckManager"
 target="_top">Frames</a></li>
-            <li><a href="GrailsDataTckManager.html" target="_top">No 
Frames</a></li>
+            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/domains/WhereRoutingItem"
 target="_top">Frames</a></li>
+            <li><a href="WhereRoutingItem.html" target="_top">No 
Frames</a></li>
         </ul>
     </div>
     <div>
         <ul class="subNavList">
             <li>Summary:&nbsp;</li>
-            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a 
href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
+            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a 
href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;Method&nbsp;&nbsp;&nbsp;
         </ul>
         <ul class="subNavList">
             <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
-            Field&nbsp;&nbsp;&nbsp;<li><a 
href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
+            Field&nbsp;&nbsp;&nbsp;<li><a 
href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;Method&nbsp;&nbsp;&nbsp;
         </ul>
     </div>
     <p><!-- Matomo -->
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html
new file mode 100644
index 00000000000..e3132c81e1e
--- /dev/null
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html
@@ -0,0 +1,298 @@
+<!--
+
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing,
+     software distributed under the License is distributed on an
+     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+     KIND, either express or implied.  See the License for the
+     specific language governing permissions and limitations
+     under the License.
+
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- **************************************************************** -->
+<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
+<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
+<!-- **************************************************************** -->
+
+<html>
+<head>
+    <!-- Generated by groovydoc (4.0.30) -->
+    <title>WhereRoutingItemService (Grails 7.0.8-SNAPSHOT)</title>
+    
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <link href="../../../../../../../groovy.ico" type="image/x-icon" 
rel="shortcut icon">
+    <link href="../../../../../../../groovy.ico" type="image/x-icon" 
rel="icon">
+    <link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
+
+<body class="center">
+<script type="text/javascript"><!--
+if (location.href.indexOf('is-external=true') == -1) {
+    parent.document.title="WhereRoutingItemService (Grails 7.0.8-SNAPSHOT)";
+}
+//-->
+</script>
+<noscript>
+    <div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+    <!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a 
name="navbar_top_firstrow">
+    <!--   -->
+</a>
+    <ul class="navList" title="Navigation">
+        <li><a 
href="../../../../../../../overview-summary.html">Overview</a></li>
+        <li><a href="package-summary.html">Package</a></li>
+        <li class="navBarCell1Rev">Class</li>
+        <li><a 
href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+        <li><a href="../../../../../../../index-all.html">Index</a></li>
+        <li><a href="../../../../../../../help-doc.html">Help</a></li>
+    </ul>
+</div>
+
+<div class="subNav">
+    <div>
+        <ul class="navList">
+            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/domains/WhereRoutingItemService"
 target="_top">Frames</a></li>
+            <li><a href="WhereRoutingItemService.html" target="_top">No 
Frames</a></li>
+        </ul>
+    </div>
+    <div>
+        <ul class="subNavList">
+            <li>Summary:&nbsp;</li>
+            
Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a 
href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </ul>
+        <ul class="subNavList">
+            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
+            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a 
href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </ul>
+    </div>
+    <a name="skip-navbar_top">
+        <!--   -->
+    </a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+
+    <div class="subTitle">Package: 
<strong>org.apache.grails.data.testing.tck.domains</strong></div>
+
+    <h2 title="[Groovy] Interface WhereRoutingItemService" 
class="title">[Groovy] Interface WhereRoutingItemService</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+
+</ul>
+<div class="description">
+    <ul class="blockList">
+        <li class="blockList">
+
+            <!-- todo: direct known subclasses -->
+            <hr>
+
+<pre>@<a href='../../../../../../../grails/gorm/services/Service.html' 
title='Service'>Service</a>(value: WhereRoutingItem)
[email protected](connection: 
secondary)
+interface WhereRoutingItemService</pre>
+
+          </li>
+    </ul>
+</div>
+
+<div class="summary">
+    <ul class="blockList">
+        <li class="blockList">
+        <!-- =========== NESTED CLASS SUMMARY =========== -->
+        
+
+        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
+        
+        <!-- =========== FIELD SUMMARY =========== -->
+        
+
+        <!-- =========== PROPERTY SUMMARY =========== -->
+        
+
+        <!-- =========== ELEMENT SUMMARY =========== -->
+        
+
+        
+
+        
+        <!-- ========== METHOD SUMMARY =========== -->
+        <ul class="blockList">
+            
+            <li class="blockList"><a name="method_summary"><!--   --></a>
+                    <h3>Methods Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" 
cellspacing="0" summary="Methods Summary table">
+                        <caption><span>Methods</span><span 
class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Type Params</th>
+                            <th class="colLast" scope="col">Return Type</th>
+                            <th class="colLast" scope="col">Name and 
description</th>
+                        </tr>
+                        
+                        <tr class="altColor">
+                            <td class="colFirst"><code></code></td>
+                            <td 
class="colLast"><code>abstract&nbsp;java.lang.Number</code></td>
+                            <td class="colLast"><code><strong><a 
href="#count()">count</a></strong>()</code><br></td>
+                        </tr>
+                        
+                        <tr class="rowColor">
+                            <td class="colFirst"><code></code></td>
+                            <td 
class="colLast"><code>abstract&nbsp;java.util.List&lt;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'
 title='WhereRoutingItem'>WhereRoutingItem</a>&gt;</code></td>
+                            <td class="colLast"><code><strong><a 
href="#findByMinAmount(java.lang.Double)">findByMinAmount</a></strong>(java.lang.Double
 minAmount)</code><br></td>
+                        </tr>
+                        
+                        <tr class="altColor">
+                            <td class="colFirst"><code></code></td>
+                            <td class="colLast"><code>abstract&nbsp;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'>WhereRoutingItem</a></code></td>
+                            <td class="colLast"><code><strong><a 
href="#findByName(java.lang.String)">findByName</a></strong>(java.lang.String 
name)</code><br></td>
+                        </tr>
+                        
+                        <tr class="rowColor">
+                            <td class="colFirst"><code></code></td>
+                            <td 
class="colLast"><code>abstract&nbsp;java.util.List&lt;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'
 title='WhereRoutingItem'>WhereRoutingItem</a>&gt;</code></td>
+                            <td class="colLast"><code><strong><a 
href="#list()">list</a></strong>()</code><br></td>
+                        </tr>
+                        
+                    </table>
+                   </ul>
+              </li>
+            
+        </ul>
+        
+    </li>
+    </ul>
+</div>
+
+<div class="details">
+    <ul class="blockList">
+        <li class="blockList">
+           
+
+            
+
+            
+
+            
+
+            
+
+
+            
+            <!-- =========== METHOD DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="method_detail">
+                    <!--   -->
+                </a>
+                    <h3>Method Detail</h3>
+                    
+                        <a name="count()"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>abstract&nbsp;java.lang.Number 
<strong>count</strong>()</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
+                        <a name="findByMinAmount(java.lang.Double)"><!-- 
--></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>@<a 
href='../../../../../../../grails/gorm/services/Where.html' 
title='Where'>Where</a>(value: { ... })<br>abstract&nbsp;java.util.List&lt;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'
 title='WhereRoutingItem'>WhereRoutingItem</a>&gt; 
<strong>findByMinAmount</strong>(java.lang.Double minAmount)</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
+                        <a name="findByName(java.lang.String)"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>abstract&nbsp;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'>WhereRoutingItem</a>
 <strong>findByName</strong>(java.lang.String name)</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
+                        <a name="list()"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>abstract&nbsp;java.util.List&lt;<a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItem.html'
 title='WhereRoutingItem'>WhereRoutingItem</a>&gt; <strong>list</strong>()</h4>
+                                <p></p>
+                            </li>
+                        </ul>
+                    
+                </li>
+            </ul>
+            
+        </li>
+    </ul>
+</div>
+
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+    <!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a 
name="navbar_bottom_firstrow">
+    <!--   -->
+</a>
+    <ul class="navList" title="Navigation">
+        <li><a 
href="../../../../../../../overview-summary.html">Overview</a></li>
+        <li><a href="package-summary.html">Package</a></li>
+        <li class="navBarCell1Rev">Class</li>
+        <li><a 
href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+        <li><a href="../../../../../../../index-all.html">Index</a></li>
+        <li><a href="../../../../../../../help-doc.html">Help</a></li>
+    </ul>
+</div>
+
+<div class="subNav">
+    <div>
+        <ul class="navList">
+            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/domains/WhereRoutingItemService"
 target="_top">Frames</a></li>
+            <li><a href="WhereRoutingItemService.html" target="_top">No 
Frames</a></li>
+        </ul>
+    </div>
+    <div>
+        <ul class="subNavList">
+            <li>Summary:&nbsp;</li>
+            
Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a 
href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </ul>
+        <ul class="subNavList">
+            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
+            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a 
href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </ul>
+    </div>
+    <p><!-- Matomo -->
+<script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+        var u="https://analytics.apache.org/";;
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '79']);
+        var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
+</script>
+<!-- End Matomo Code --></p>
+    <a name="skip-navbar_bottom">
+        <!--   -->
+    </a>
+    </div>
+</div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-frame.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-frame.html
index 7024eef33de..43598bdad46 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-frame.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-frame.html
@@ -38,12 +38,20 @@
 
 
 
+<div class="indexContainer">
+    <h2>Interfaces</h2>
+    <ul>
+        <li><a href="WhereRoutingItemService.html" title="interface in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame"><em>WhereRoutingItemService</em></a></li>
+    </ul>
+</div>
+
+
 
 
 <div class="indexContainer">
     <h2>Classes</h2>
     <ul>
-        <li><a href="Book.html" title="class in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame">Book</a></li><li><a href="Card.html" title="class in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame">Card</a></li><li><a href="CardProfile.html" title="class in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame">CardProfile</a></li><li><a href="Child.html" title="class 
in org.apache.grails.data.testing.tck.domains" 
target="classFrame">Child</a></li> [...]
+        <li><a href="Book.html" title="class in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame">Book</a></li><li><a href="Card.html" title="class in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame">Card</a></li><li><a href="CardProfile.html" title="class in 
org.apache.grails.data.testing.tck.domains" 
target="classFrame">CardProfile</a></li><li><a href="Child.html" title="class 
in org.apache.grails.data.testing.tck.domains" 
target="classFrame">Child</a></li> [...]
     </ul>
 </div>
 
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-summary.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-summary.html
index 751937a9ee1..db9f75fa41d 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-summary.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/domains/package-summary.html
@@ -76,6 +76,32 @@ function windowTitle()
 <div class="contentContainer">
 
 
+    <div class="summary">
+        <ul class="blockList">
+            <li class="blockList">
+                <table border="0" cellpadding="3" cellspacing="0" 
summary="Interface Summary">
+                    <caption><span>Interface Summary</span><span 
class="tabEnd">&nbsp;</span></caption>
+                    <tbody>
+                    <tr>
+                        <th class="colFirst" scope="col">Interface</th>
+                        <th class="colLast" scope="col">Description</th>
+                    </tr>
+<tr class="altColor">
+                            <td class="colOne">
+                                <strong><a href="WhereRoutingItemService.html" 
title="class in org/apache/grails/data/testing/tck/domains">
+                                    WhereRoutingItemService
+                                </a></strong>
+                            </td>
+                            <td></td>
+                        </tr>
+
+                    </tbody>
+                </table>
+            </li>
+            </ul>
+        </div>
+    
+
 
 
     <div class="summary">
@@ -448,6 +474,14 @@ function windowTitle()
                             </td>
                             <td></td>
                         </tr>
+<tr class="altColor">
+                            <td class="colOne">
+                                <strong><a href="WhereRoutingItem.html" 
title="class in org/apache/grails/data/testing/tck/domains">
+                                    WhereRoutingItem
+                                </a></strong>
+                            </td>
+                            <td>Domain class mapped to ALL datasources for 
multi-datasource connection routing TCK tests.</td>
+                        </tr>
 
                     </tbody>
                 </table>
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html
similarity index 74%
copy from 
docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
copy to 
docs/snapshot/api/org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html
index 43e2aa3dc48..ce3d4d9674a 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/base/GrailsDataTckManager.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.html
@@ -27,7 +27,7 @@
 <html>
 <head>
     <!-- Generated by groovydoc (4.0.30) -->
-    <title>GrailsDataTckManager (Grails 7.0.8-SNAPSHOT)</title>
+    <title>WhereQueryConnectionRoutingSpec (Grails 7.0.8-SNAPSHOT)</title>
     
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <link href="../../../../../../../groovy.ico" type="image/x-icon" 
rel="shortcut icon">
@@ -37,7 +37,7 @@
 <body class="center">
 <script type="text/javascript"><!--
 if (location.href.indexOf('is-external=true') == -1) {
-    parent.document.title="GrailsDataTckManager (Grails 7.0.8-SNAPSHOT)";
+    parent.document.title="WhereQueryConnectionRoutingSpec (Grails 
7.0.8-SNAPSHOT)";
 }
 //-->
 </script>
@@ -63,8 +63,8 @@ if (location.href.indexOf('is-external=true') == -1) {
 <div class="subNav">
     <div>
         <ul class="navList">
-            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/base/GrailsDataTckManager"
 target="_top">Frames</a></li>
-            <li><a href="GrailsDataTckManager.html" target="_top">No 
Frames</a></li>
+            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec"
 target="_top">Frames</a></li>
+            <li><a href="WhereQueryConnectionRoutingSpec.html" 
target="_top">No Frames</a></li>
         </ul>
     </div>
     <div>
@@ -85,13 +85,13 @@ if (location.href.indexOf('is-external=true') == -1) {
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 
-    <div class="subTitle">Package: 
<strong>org.apache.grails.data.testing.tck.base</strong></div>
+    <div class="subTitle">Package: 
<strong>org.apache.grails.data.testing.tck.tests</strong></div>
 
-    <h2 title="[Groovy] Class GrailsDataTckManager" class="title">[Groovy] 
Class GrailsDataTckManager</h2>
+    <h2 title="[Groovy] Class WhereQueryConnectionRoutingSpec" 
class="title">[Groovy] Class WhereQueryConnectionRoutingSpec</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li><ul 
class="inheritance"></ul></li><li>org.apache.grails.data.testing.tck.base.GrailsDataTckManager
+<li><ul class="inheritance"></ul></li><li><ul 
class="inheritance"></ul></li><li><ul 
class="inheritance"></ul></li><li>org.apache.grails.data.testing.tck.tests.WhereQueryConnectionRoutingSpec
 </ul>
 <div class="description">
     <ul class="blockList">
@@ -101,8 +101,10 @@ if (location.href.indexOf('is-external=true') == -1) {
             <!-- todo: direct known subclasses -->
             <hr>
 
-<pre>abstract class GrailsDataTckManager
-extends java.lang.Object</pre>
+<pre>@spock.lang.Issue(value: 
https://github.com/apache/grails-core/issues/15416)
[email protected](value: { ... })
+class WhereQueryConnectionRoutingSpec
+extends <a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html'>GrailsDataTckSpec</a></pre>
 
           </li>
     </ul>
@@ -133,24 +135,31 @@ extends java.lang.Object</pre>
                         </tr>
                         
                         <tr class="altColor">
-                            <td 
class="colFirst"><code><strong>static&nbsp;java.lang.Object</strong></code>&nbsp;</td>
-                            <td class="colLast"><code><a 
href="#CURRENT_TEST_NAME">CURRENT_TEST_NAME</a></code><br></td>
-                        </tr>
-                        
-                        <tr class="rowColor">
-                            <td 
class="colFirst"><code><strong>java.util.List&lt;java.lang.Class&gt;</strong></code>&nbsp;</td>
-                            <td class="colLast"><code><a 
href="#domainClasses">domainClasses</a></code><br></td>
-                        </tr>
-                        
-                        <tr class="altColor">
-                            <td class="colFirst"><code><strong><a 
href='../../../../../../../org.hibernate.Session.html'>Session</a></strong></code>&nbsp;</td>
-                            <td class="colLast"><code><a 
href="#session">session</a></code><br></td>
+                            <td class="colFirst"><code><strong><a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html'>WhereRoutingItemService</a></strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a 
href="#itemService">itemService</a></code><br></td>
                         </tr>
                         
                     </table>
                    </ul>
                 </li>
                 
+                 <li class="blockList"><a name="properties_summary"><!--   
--></a>
+                     <ul class="blockList">
+                         <table class="overviewSummary" border="0" 
cellpadding="3" cellspacing="0" summary="Inherited properties summary table">
+                             <caption><span>Inherited properties</span><span 
class="tabEnd">&nbsp;</span></caption>
+                             <tr>
+                                 <th class="colFirst" scope="col">Properties 
inherited from class</th>
+                                 <th class="colLast" 
scope="col">Properties</th>
+                             </tr>
+                                                     <tr class="altColor">
+                                <td class="colFirst"><strong><code>class <a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html'>GrailsDataTckSpec</a></code></strong></td>
+                                <td class="colLast"><code>manager</code></td>
+                            </tr>
+
+                         </table>
+                     </ul>
+                 </li>
+                 
             </ul>
         
 
@@ -171,7 +180,7 @@ extends java.lang.Object</pre>
                         
                         <tr class="altColor">
                             <td class="colFirst">
-                                <code><strong><a 
href="#GrailsDataTckManager()">GrailsDataTckManager</a></strong>()</code><br></td>
+                                <code><strong><a 
href="#WhereQueryConnectionRoutingSpec()">WhereQueryConnectionRoutingSpec</a></strong>()</code><br></td>
                         </tr>
                         
                     </table>
@@ -198,43 +207,43 @@ extends java.lang.Object</pre>
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanRegistry()">cleanRegistry</a></strong>()</code><br></td>
+                            <td class="colLast"><code><strong><a href="#@Where 
query does not return data from default datasource()">@Where query does not 
return data from default datasource</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanup()">cleanup</a></strong>()</code><br></td>
+                            <td class="colLast"><code><strong><a href="#@Where 
query routes to secondary datasource()">@Where query routes to secondary 
datasource</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#cleanupSpec()">cleanupSpec</a></strong>()</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#cleanup()">cleanup</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
-                            <td class="colLast"><code>abstract&nbsp;<a 
href='../../../../../../../org/grails/datastore/mapping/core/Session.html'>Session</a></code></td>
-                            <td class="colLast"><code><strong><a 
href="#createSession()">createSession</a></strong>()</code><br></td>
+                            <td class="colLast"><code>void</code></td>
+                            <td class="colLast"><code><strong><a href="#count 
routes to secondary datasource()">count routes to secondary 
datasource</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#destroy()">destroy</a></strong>()</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#findByName routes to secondary datasource()">findByName routes to 
secondary datasource</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#setup(Class)">setup</a></strong>(java.lang.Class&lt;? extends 
Specification&gt; spec)</code><br></td>
+                            <td class="colLast"><code><strong><a href="#list 
routes to secondary datasource()">list routes to secondary 
datasource</a></strong>()</code><br></td>
                         </tr>
                         
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#setupSpec()">setupSpec</a></strong>()</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#setup()">setup</a></strong>()</code><br></td>
                         </tr>
                         
                     </table>
@@ -252,8 +261,8 @@ extends java.lang.Object</pre>
                         </tr>
                         
                         <tr class="altColor">
-                            <td class="colFirst"><code>class 
java.lang.Object</code></td>
-                            <td 
class="colLast"><code>java.lang.Object#equals(java.lang.Object), 
java.lang.Object#getClass(), java.lang.Object#hashCode(), 
java.lang.Object#notify(), java.lang.Object#notifyAll(), 
java.lang.Object#toString(), java.lang.Object#wait(), 
java.lang.Object#wait(long), java.lang.Object#wait(long, int)</code></td>
+                            <td class="colFirst"><code>class <a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html'>GrailsDataTckSpec</a></code></td>
+                            <td class="colLast"><code><a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html#cleanup()'>cleanup</a>,
 <a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html#cleanupSpec()'>cleanupSpec</a>,
 <a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTckSpec.html#setup()'>setup</a>,
 <a 
href='../../../../../../../org/apache/grails/data/testing/tck/base/GrailsDataTck
 [...]
                         </tr>
                     </table>
                    </ul>
@@ -280,26 +289,10 @@ extends java.lang.Object</pre>
                 </a>
                     <h3>Property Detail</h3>
                     
-                        <a name="CURRENT_TEST_NAME"><!-- --></a>
-                        <ul class="blockListLast">
-                            <li class="blockList">
-                                <h4>static&nbsp;final&nbsp;java.lang.Object 
<strong>CURRENT_TEST_NAME</strong></h4>
-                                <p></p>
-                            </li>
-                        </ul>
-                    
-                        <a name="domainClasses"><!-- --></a>
+                        <a name="itemService"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>java.util.List&lt;java.lang.Class&gt; 
<strong>domainClasses</strong></h4>
-                                <p></p>
-                            </li>
-                        </ul>
-                    
-                        <a name="session"><!-- --></a>
-                        <ul class="blockListLast">
-                            <li class="blockList">
-                                <h4><a 
href='../../../../../../../org.hibernate.Session.html'>Session</a> 
<strong>session</strong></h4>
+                                <h4><a 
href='../../../../../../../org/apache/grails/data/testing/tck/domains/WhereRoutingItemService.html'>WhereRoutingItemService</a>
 <strong>itemService</strong></h4>
                                 <p></p>
                             </li>
                         </ul>
@@ -318,10 +311,10 @@ extends java.lang.Object</pre>
                 </a>
                     <h3>Constructor Detail</h3>
                     
-                        <a name="GrailsDataTckManager()"><!-- --></a>
+                        <a name="WhereQueryConnectionRoutingSpec()"><!-- 
--></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                
<h4><strong>GrailsDataTckManager</strong>()</h4>
+                                
<h4><strong>WhereQueryConnectionRoutingSpec</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
@@ -339,58 +332,58 @@ extends java.lang.Object</pre>
                 </a>
                     <h3>Method Detail</h3>
                     
-                        <a name="cleanRegistry()"><!-- --></a>
+                        <a name="@Where query does not return data from 
default datasource()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>cleanRegistry</strong>()</h4>
+                                <h4>void <strong>@Where query does not return 
data from default datasource</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="cleanup()"><!-- --></a>
+                        <a name="@Where query routes to secondary 
datasource()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>cleanup</strong>()</h4>
+                                <h4>void <strong>@Where query routes to 
secondary datasource</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="cleanupSpec()"><!-- --></a>
+                        <a name="cleanup()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>cleanupSpec</strong>()</h4>
+                                <h4>void <strong>cleanup</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="createSession()"><!-- --></a>
+                        <a name="count routes to secondary datasource()"><!-- 
--></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>abstract&nbsp;<a 
href='../../../../../../../org/grails/datastore/mapping/core/Session.html'>Session</a>
 <strong>createSession</strong>()</h4>
+                                <h4>void <strong>count routes to secondary 
datasource</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="destroy()"><!-- --></a>
+                        <a name="findByName routes to secondary 
datasource()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>destroy</strong>()</h4>
+                                <h4>void <strong>findByName routes to 
secondary datasource</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="setup(Class)"><!-- --></a>
+                        <a name="list routes to secondary datasource()"><!-- 
--></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void 
<strong>setup</strong>(java.lang.Class&lt;? extends Specification&gt; spec)</h4>
+                                <h4>void <strong>list routes to secondary 
datasource</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
                     
-                        <a name="setupSpec()"><!-- --></a>
+                        <a name="setup()"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
-                                <h4>void <strong>setupSpec</strong>()</h4>
+                                <h4>void <strong>setup</strong>()</h4>
                                 <p></p>
                             </li>
                         </ul>
@@ -422,8 +415,8 @@ extends java.lang.Object</pre>
 <div class="subNav">
     <div>
         <ul class="navList">
-            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/base/GrailsDataTckManager"
 target="_top">Frames</a></li>
-            <li><a href="GrailsDataTckManager.html" target="_top">No 
Frames</a></li>
+            <li><a 
href="../../../../../../../index.html?org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec"
 target="_top">Frames</a></li>
+            <li><a href="WhereQueryConnectionRoutingSpec.html" 
target="_top">No Frames</a></li>
         </ul>
     </div>
     <div>
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-frame.html 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-frame.html
index a5101e5fb68..81c90f55016 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-frame.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-frame.html
@@ -43,7 +43,7 @@
 <div class="indexContainer">
     <h2>Classes</h2>
     <ul>
-        <li><a href="AttachMethodSpec.html" title="class in 
org.apache.grails.data.testing.tck.tests" 
target="classFrame">AttachMethodSpec</a></li><li><a 
href="BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec.html" 
title="class in org.apache.grails.data.testing.tck.tests" 
target="classFrame">BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec</a></li><li><a
 href="CircularOneToManySpec.html" title="class in 
org.apache.grails.data.testing.tck.tests" target="classFrame" [...]
+        <li><a href="AttachMethodSpec.html" title="class in 
org.apache.grails.data.testing.tck.tests" 
target="classFrame">AttachMethodSpec</a></li><li><a 
href="BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec.html" 
title="class in org.apache.grails.data.testing.tck.tests" 
target="classFrame">BuiltinUniqueConstraintWorksWithTargetProxiesConstraintsSpec</a></li><li><a
 href="CircularOneToManySpec.html" title="class in 
org.apache.grails.data.testing.tck.tests" target="classFrame" [...]
     </ul>
 </div>
 
diff --git 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-summary.html
 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-summary.html
index ba87ff02a96..84966fe7ff5 100644
--- 
a/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-summary.html
+++ 
b/docs/snapshot/api/org/apache/grails/data/testing/tck/tests/package-summary.html
@@ -536,6 +536,14 @@ function windowTitle()
                             </td>
                             <td></td>
                         </tr>
+<tr class="altColor">
+                            <td class="colOne">
+                                <strong><a 
href="WhereQueryConnectionRoutingSpec.html" title="class in 
org/apache/grails/data/testing/tck/tests">
+                                    WhereQueryConnectionRoutingSpec
+                                </a></strong>
+                            </td>
+                            <td></td>
+                        </tr>
 <tr class="altColor">
                             <td class="colOne">
                                 <strong><a href="WithTransactionSpec.html" 
title="class in org/apache/grails/data/testing/tck/tests">
diff --git 
a/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTenantService.html
 
b/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTenantService.html
index 7038205fbfc..726bbf34be6 100644
--- 
a/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTenantService.html
+++ 
b/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTenantService.html
@@ -99,7 +99,7 @@ if (location.href.indexOf('is-external=true') == -1) {
 
             <dl>
                 <dt>All Implemented Interfaces and Traits:</dt>
-                <dd><a 
href='../../../../../org/grails/datastore/mapping/services/Service.html'>Service</a>,
 <a 
href='../../../../../grails/gorm/multitenancy/TenantService.html'>TenantService</a></dd>
+                <dd><a 
href='../../../../../grails/gorm/services/Service.html'>Service</a>, <a 
href='../../../../../grails/gorm/multitenancy/TenantService.html'>TenantService</a></dd>
             </dl>
     
 
@@ -109,7 +109,7 @@ if (location.href.indexOf('is-external=true') == -1) {
 <pre>@groovy.transform.CompileStatic
 class DefaultTenantService
 extends java.lang.Object
-implements <a 
href='../../../../../org/grails/datastore/mapping/services/Service.html'>Service</a>,
 <a 
href='../../../../../grails/gorm/multitenancy/TenantService.html'>TenantService</a></pre>
+implements <a 
href='../../../../../grails/gorm/services/Service.html'>Service</a>, <a 
href='../../../../../grails/gorm/multitenancy/TenantService.html'>TenantService</a></pre>
 
     <p> Default implementation of the TenantService interface 
<DL><DT><B>Authors:</B></DT><DD>Graeme 
Rocher</DD></DL><DL><DT><B>Since:</B></DT><DD>6.1</DD></DL></p>
 
diff --git 
a/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTransactionService.html
 
b/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTransactionService.html
index d414d30b388..1e489156521 100644
--- 
a/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTransactionService.html
+++ 
b/docs/snapshot/api/org/grails/datastore/gorm/services/DefaultTransactionService.html
@@ -99,7 +99,7 @@ if (location.href.indexOf('is-external=true') == -1) {
 
             <dl>
                 <dt>All Implemented Interfaces and Traits:</dt>
-                <dd><a 
href='../../../../../org/grails/datastore/mapping/services/Service.html'>Service</a>,
 <a 
href='../../../../../grails/gorm/transactions/TransactionService.html'>TransactionService</a></dd>
+                <dd><a 
href='../../../../../grails/gorm/services/Service.html'>Service</a>, <a 
href='../../../../../grails/gorm/transactions/TransactionService.html'>TransactionService</a></dd>
             </dl>
     
 
@@ -109,7 +109,7 @@ if (location.href.indexOf('is-external=true') == -1) {
 <pre>@groovy.transform.CompileStatic
 class DefaultTransactionService
 extends java.lang.Object
-implements <a 
href='../../../../../org/grails/datastore/mapping/services/Service.html'>Service</a>,
 <a 
href='../../../../../grails/gorm/transactions/TransactionService.html'>TransactionService</a></pre>
+implements <a 
href='../../../../../grails/gorm/services/Service.html'>Service</a>, <a 
href='../../../../../grails/gorm/transactions/TransactionService.html'>TransactionService</a></pre>
 
     <p> The transaction service implementation 
<DL><DT><B>Authors:</B></DT><DD>Graeme 
Rocher</DD></DL><DL><DT><B>Since:</B></DT><DD>6.1</DD></DL></p>
 
diff --git 
a/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsGradlePlugin.html 
b/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsGradlePlugin.html
index 442bb71c14f..ea1a2987a16 100644
--- a/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsGradlePlugin.html
+++ b/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsGradlePlugin.html
@@ -297,130 +297,136 @@ extends <a 
href='../../../../../org.gradle.api.plugins.GroovyPlugin.html'>Groovy
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#configureMicronaut(org.gradle.api.Project)">configureMicronaut</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#configureJavaCompatibilityArgs(org.gradle.api.Project)">configureJavaCompatibilityArgs</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br>Configures JVM arguments required for compatibility with 
Java 23+.</td>
                         </tr>
                         
                         <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#configureProfile(org.gradle.api.Project)">configureProfile</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#configureMicronaut(org.gradle.api.Project)">configureMicronaut</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#configureRunCommand(org.gradle.api.Project)">configureRunCommand</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#configureProfile(org.gradle.api.Project)">configureProfile</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#configureRunScript(org.gradle.api.Project)">configureRunScript</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
+                            <td class="colLast"><code><strong><a 
href="#configureRunCommand(org.gradle.api.Project)">configureRunCommand</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
                         <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
-                            <td class="colLast"><code><strong><a 
href="#configureToolchainForForkTasks(org.gradle.api.Project)">configureToolchainForForkTasks</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br>Configures JavaExec tasks to inherit the project's Java 
toolchain.</td>
+                            <td class="colLast"><code><strong><a 
href="#configureRunScript(org.gradle.api.Project)">configureRunScript</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
                         <tr class="rowColor">
+                            <td class="colFirst"><code></code></td>
+                            <td 
class="colLast"><code>protected&nbsp;void</code></td>
+                            <td class="colLast"><code><strong><a 
href="#configureToolchainForForkTasks(org.gradle.api.Project)">configureToolchainForForkTasks</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br>Configures JavaExec tasks to inherit the project's Java 
toolchain.</td>
+                        </tr>
+                        
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;org.apache.tools.ant.Task</code></td>
                             <td class="colLast"><code><strong><a 
href="#createBuildPropertiesTask(org.gradle.api.Project)">createBuildPropertiesTask</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;TaskProvider&lt;JavaExec&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#createConsoleTask(org.gradle.api.Project, 
org.gradle.api.tasks.TaskContainer, 
NamedDomainObjectProvider)">createConsoleTask</a></strong>(<a 
href='../../../../../org.gradle.api.Project.html'>Project</a> project, <a 
href='../../../../../org.gradle.api.tasks.TaskContainer.html'>TaskContainer</a> 
tasks, NamedDomainObjectProvider&lt;Configuration&gt; 
configuration)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;TaskProvider&lt;Task&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#createNative2AsciiTask(org.gradle.api.tasks.TaskContainer, 
java.lang.Object, java.lang.Object)">createNative2AsciiTask</a></strong>(<a 
href='../../../../../org.gradle.api.tasks.TaskContainer.html'>TaskContainer</a> 
tasks, java.lang.Object src, java.lang.Object dest)</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;TaskProvider&lt;JavaExec&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#createShellTask(org.gradle.api.Project, 
org.gradle.api.tasks.TaskContainer, 
NamedDomainObjectProvider)">createShellTask</a></strong>(<a 
href='../../../../../org.gradle.api.Project.html'>Project</a> project, <a 
href='../../../../../org.gradle.api.tasks.TaskContainer.html'>TaskContainer</a> 
tasks, NamedDomainObjectProvider&lt;Configuration&gt; 
configuration)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
                             <td class="colLast"><code><strong><a 
href="#enableNative2Ascii(org.gradle.api.Project, 
java.lang.String)">enableNative2Ascii</a></strong>(<a 
href='../../../../../org.gradle.api.Project.html'>Project</a> project, 
java.lang.String grailsVersion)</code><br>Enables native2ascii processing of 
resource bundles</td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
                             <td class="colLast"><code><strong><a 
href="#excludeDependencies(org.gradle.api.Project)">excludeDependencies</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;java.lang.String</code></td>
                             <td class="colLast"><code><strong><a 
href="#getDefaultProfile()">getDefaultProfile</a></strong>()</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;groovy.lang.Closure&lt;java.lang.String&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#getGroovyCompilerScript(org.gradle.api.tasks.compile.GroovyCompile, 
org.gradle.api.Project)">getGroovyCompilerScript</a></strong>(<a 
href='../../../../../org.gradle.api.tasks.compile.GroovyCompile.html'>GroovyCompile</a>
 compile, <a href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;static&nbsp;Provider&lt;java.lang.String&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#getMainClassProvider(org.gradle.api.Project)">getMainClassProvider</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;boolean</code></td>
                             <td class="colLast"><code><strong><a 
href="#isGrailsSourceDirectory(java.io.File)">isGrailsSourceDirectory</a></strong>(java.io.File
 subdir)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
                             <td class="colLast"><code><strong><a 
href="#registerFindMainClassTask(org.gradle.api.Project)">registerFindMainClassTask</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>protected&nbsp;<a 
href='../../../../../org/grails/gradle/plugin/core/GrailsExtension.html'>GrailsExtension</a></code></td>
                             <td class="colLast"><code><strong><a 
href="#registerGrailsExtension(org.gradle.api.Project)">registerGrailsExtension</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;void</code></td>
                             <td class="colLast"><code><strong><a 
href="#registerToolingModelBuilder(org.gradle.api.Project, 
org.gradle.tooling.provider.model.ToolingModelBuilderRegistry)">registerToolingModelBuilder</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> project, <a 
href='../../../../../org.gradle.tooling.provider.model.ToolingModelBuilderRegistry.html'>ToolingModelBuilderRegistry</a>
 registry)</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td class="colLast"><code>protected&nbsp;<a 
href='../../../../../org.gradle.api.file.FileCollection.html'>FileCollection</a></code></td>
                             <td class="colLast"><code><strong><a 
href="#resolveClassesDirs(org.gradle.api.tasks.SourceSetOutput, 
org.gradle.api.Project)">resolveClassesDirs</a></strong>(<a 
href='../../../../../org.gradle.api.tasks.SourceSetOutput.html'>SourceSetOutput</a>
 output, <a href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;java.util.List&lt;java.io.File&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#resolveGrailsResourceDirs(org.gradle.api.Project)">resolveGrailsResourceDirs</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="altColor">
+                        <tr class="rowColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;java.util.List&lt;java.io.File&gt;</code></td>
                             <td class="colLast"><code><strong><a 
href="#resolveGrailsSourceDirs(org.gradle.api.Project)">resolveGrailsSourceDirs</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
                         </tr>
                         
-                        <tr class="rowColor">
+                        <tr class="altColor">
                             <td class="colFirst"><code></code></td>
                             <td 
class="colLast"><code>protected&nbsp;java.lang.String</code></td>
                             <td class="colLast"><code><strong><a 
href="#resolveGrailsVersion(org.gradle.api.Project)">resolveGrailsVersion</a></strong>(<a
 href='../../../../../org.gradle.api.Project.html'>Project</a> 
project)</code><br></td>
@@ -624,6 +630,30 @@ extends <a 
href='../../../../../org.gradle.api.plugins.GroovyPlugin.html'>Groovy
                             </li>
                         </ul>
                     
+                        <a 
name="configureJavaCompatibilityArgs(org.gradle.api.Project)"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>protected&nbsp;void 
<strong>configureJavaCompatibilityArgs</strong>(<a 
href='../../../../../org.gradle.api.Project.html'>Project</a> project)</h4>
+                                <p> Configures JVM arguments required for 
compatibility with Java 23+.
+
+ <p>Java 24 introduced restrictions on native access (<CODE>JEP 472</CODE>) 
that cause
+ warnings from libraries such as hawtjni (used by JLine) and Netty that call
+ <CODE>System.loadLibrary</CODE> or declare native methods. The
+ <CODE>--enable-native-access=ALL-UNNAMED</CODE> flag suppresses these 
warnings and
+ will become mandatory in a future JDK release when the default changes to 
deny.</p>
+
+ <p>Java 23 began terminal deprecation of <CODE>sun.misc.Unsafe</CODE> 
memory-access
+ methods (<CODE>JEP 471/498</CODE>). Netty 4.1.x uses 
<CODE>Unsafe.allocateMemory</CODE>
+ for off-heap buffers. The <CODE>--sun-misc-unsafe-memory-access=allow</CODE> 
flag
+ suppresses the resulting warnings until Netty migrates to 
<CODE>MemorySegment</CODE>
+ APIs (Netty 4.2+).</p>
+
+ <p>Both flags are only added when the target JVM version (from the configured
+ toolchain, or the JVM running Gradle if no toolchain is set) is high enough to
+ recognize them, avoiding <CODE>Unrecognized option</CODE> errors on older 
JDKs.</p> <DL><DT><B>Parameters:</B></DT><DD><code>project</code> -  the Gradle 
project</DD></DL><DL><DT><B>See Also:</B></DT><DD><a 
href="https://github.com/apache/grails-core/issues/15216";>#15216 - Java 25 
native access warnings</a></DD><DD><a 
href="https://github.com/apache/grails-core/issues/15343";>#15343 - 
sun.misc.Unsafe deprecation 
warnings</a></DD></DL><DL><DT><B>Since:</B></DT><DD>7.0.8</DD></DL></p>
+                            </li>
+                        </ul>
+                    
                         <a 
name="configureMicronaut(org.gradle.api.Project)"><!-- --></a>
                         <ul class="blockListLast">
                             <li class="blockList">
diff --git 
a/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsPluginGradlePlugin.html 
b/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsPluginGradlePlugin.html
index 82278c1730d..2948c24676e 100644
--- 
a/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsPluginGradlePlugin.html
+++ 
b/docs/snapshot/api/org/grails/gradle/plugin/core/GrailsPluginGradlePlugin.html
@@ -310,7 +310,7 @@ extends <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin
                         
                         <tr class="altColor">
                             <td class="colFirst"><code>class <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html'>GrailsGradlePlugin</a></code></td>
-                            <td class="colLast"><code><a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#apply(org.gradle.api.Project)'>apply</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyBasePlugins(org.gradle.api.Project)'>applyBasePlugins</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyDefaultPlugins(org.gradle.api.Project)'>applyDefaultPlugins</a>,
 <a href='../../../../../org/ [...]
+                            <td class="colLast"><code><a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#apply(org.gradle.api.Project)'>apply</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyBasePlugins(org.gradle.api.Project)'>applyBasePlugins</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyDefaultPlugins(org.gradle.api.Project)'>applyDefaultPlugins</a>,
 <a href='../../../../../org/ [...]
                         </tr>
                     </table>
                    </ul>
diff --git 
a/docs/snapshot/api/org/grails/gradle/plugin/web/GrailsWebGradlePlugin.html 
b/docs/snapshot/api/org/grails/gradle/plugin/web/GrailsWebGradlePlugin.html
index 99e1a9a5930..e513ef08d91 100644
--- a/docs/snapshot/api/org/grails/gradle/plugin/web/GrailsWebGradlePlugin.html
+++ b/docs/snapshot/api/org/grails/gradle/plugin/web/GrailsWebGradlePlugin.html
@@ -228,7 +228,7 @@ extends <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin
                         
                         <tr class="altColor">
                             <td class="colFirst"><code>class <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html'>GrailsGradlePlugin</a></code></td>
-                            <td class="colLast"><code><a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#apply(org.gradle.api.Project)'>apply</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyBasePlugins(org.gradle.api.Project)'>applyBasePlugins</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyDefaultPlugins(org.gradle.api.Project)'>applyDefaultPlugins</a>,
 <a href='../../../../../org/ [...]
+                            <td class="colLast"><code><a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#apply(org.gradle.api.Project)'>apply</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyBasePlugins(org.gradle.api.Project)'>applyBasePlugins</a>,
 <a 
href='../../../../../org/grails/gradle/plugin/core/GrailsGradlePlugin.html#applyDefaultPlugins(org.gradle.api.Project)'>applyDefaultPlugins</a>,
 <a href='../../../../../org/ [...]
                         </tr>
                     </table>
                    </ul>
diff --git a/docs/snapshot/grails-data/developer-manual/gettingStarted.html 
b/docs/snapshot/grails-data/developer-manual/gettingStarted.html
index 73f72d2586c..1e6419d0d65 100644
--- a/docs/snapshot/grails-data/developer-manual/gettingStarted.html
+++ b/docs/snapshot/grails-data/developer-manual/gettingStarted.html
@@ -523,7 +523,7 @@ cd grails-core</pre>
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git a/docs/snapshot/grails-data/developer-manual/introduction.html 
b/docs/snapshot/grails-data/developer-manual/introduction.html
index 5ec4fd11cf9..c550cbfb637 100644
--- a/docs/snapshot/grails-data/developer-manual/introduction.html
+++ b/docs/snapshot/grails-data/developer-manual/introduction.html
@@ -476,7 +476,7 @@ body.book #toc,body.book #preamble,body.book 
h1.sect0,body.book .sect1>h2{page-b
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git a/docs/snapshot/grails-data/developer-manual/stepByStep.html 
b/docs/snapshot/grails-data/developer-manual/stepByStep.html
index 0e9bf91d820..177c7da40d7 100644
--- a/docs/snapshot/grails-data/developer-manual/stepByStep.html
+++ b/docs/snapshot/grails-data/developer-manual/stepByStep.html
@@ -621,7 +621,7 @@ class XyzTestSuite {
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git a/docs/snapshot/grails-data/developer-manual/testing.html 
b/docs/snapshot/grails-data/developer-manual/testing.html
index ea52b081780..0d6592699bc 100644
--- a/docs/snapshot/grails-data/developer-manual/testing.html
+++ b/docs/snapshot/grails-data/developer-manual/testing.html
@@ -511,7 +511,7 @@ class PagedResultSpec extends GormDatastoreSpec{
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git a/docs/snapshot/grails-data/developer-manual/understandingApi.html 
b/docs/snapshot/grails-data/developer-manual/understandingApi.html
index 4a81129a6f7..34cb94aa268 100644
--- a/docs/snapshot/grails-data/developer-manual/understandingApi.html
+++ b/docs/snapshot/grails-data/developer-manual/understandingApi.html
@@ -454,7 +454,7 @@ body.book #toc,body.book #preamble,body.book 
h1.sect0,body.book .sect1>h2{page-b
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git 
a/docs/snapshot/grails-data/developer-manual/understandingApi/datastoreBasics.html
 
b/docs/snapshot/grails-data/developer-manual/understandingApi/datastoreBasics.html
index b68c3c3bdc0..67a907a0f2f 100644
--- 
a/docs/snapshot/grails-data/developer-manual/understandingApi/datastoreBasics.html
+++ 
b/docs/snapshot/grails-data/developer-manual/understandingApi/datastoreBasics.html
@@ -561,7 +561,7 @@ protected Session createSession(PropertyResolver 
connDetails) {
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git 
a/docs/snapshot/grails-data/developer-manual/understandingApi/gormApis.html 
b/docs/snapshot/grails-data/developer-manual/understandingApi/gormApis.html
index 6f62c05c544..2036f113d86 100644
--- a/docs/snapshot/grails-data/developer-manual/understandingApi/gormApis.html
+++ b/docs/snapshot/grails-data/developer-manual/understandingApi/gormApis.html
@@ -496,7 +496,7 @@ class Neo4jEntityTraitProvider implements 
GormEntityTraitProvider {
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git 
a/docs/snapshot/grails-data/developer-manual/understandingApi/gormEnhancer.html 
b/docs/snapshot/grails-data/developer-manual/understandingApi/gormEnhancer.html
index 1244c49e705..232ad279c03 100644
--- 
a/docs/snapshot/grails-data/developer-manual/understandingApi/gormEnhancer.html
+++ 
b/docs/snapshot/grails-data/developer-manual/understandingApi/gormEnhancer.html
@@ -488,7 +488,7 @@ enhancer.enhance()</code></pre>
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git 
a/docs/snapshot/grails-data/developer-manual/understandingApi/implementingCrud.html
 
b/docs/snapshot/grails-data/developer-manual/understandingApi/implementingCrud.html
index 6cee47ade6c..de61f7cbe9b 100644
--- 
a/docs/snapshot/grails-data/developer-manual/understandingApi/implementingCrud.html
+++ 
b/docs/snapshot/grails-data/developer-manual/understandingApi/implementingCrud.html
@@ -673,7 +673,7 @@ protected void deleteEntry(String family, final Object key, 
final Object entry)
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git 
a/docs/snapshot/grails-data/developer-manual/understandingApi/implementingQueries.html
 
b/docs/snapshot/grails-data/developer-manual/understandingApi/implementingQueries.html
index 10600cb1228..d25061c74a4 100644
--- 
a/docs/snapshot/grails-data/developer-manual/understandingApi/implementingQueries.html
+++ 
b/docs/snapshot/grails-data/developer-manual/understandingApi/implementingQueries.html
@@ -588,7 +588,7 @@ If, for instance, the underlying datastore does not support 
the calculation of a
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git 
a/docs/snapshot/grails-data/developer-manual/understandingApi/secondaryIndexes.html
 
b/docs/snapshot/grails-data/developer-manual/understandingApi/secondaryIndexes.html
index ff63f512e85..5f1a4b9017c 100644
--- 
a/docs/snapshot/grails-data/developer-manual/understandingApi/secondaryIndexes.html
+++ 
b/docs/snapshot/grails-data/developer-manual/understandingApi/secondaryIndexes.html
@@ -526,7 +526,7 @@ If the underlying datastore supports secondary indexes then 
it is ok to just ret
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git a/docs/snapshot/grails-data/whats-new-manual/index.html 
b/docs/snapshot/grails-data/whats-new-manual/index.html
index 5cd3e8ba16e..a48a165df95 100644
--- a/docs/snapshot/grails-data/whats-new-manual/index.html
+++ b/docs/snapshot/grails-data/whats-new-manual/index.html
@@ -527,7 +527,7 @@ body.book #toc,body.book #preamble,body.book 
h1.sect0,body.book .sect1>h2{page-b
 <div id="footer">
 <div id="footer-text">
 Version 7.0.8-SNAPSHOT<br>
-Last updated 2026-02-21 12:39:11 UTC
+Last updated 2026-02-21 13:59:34 UTC
 </div>
 </div>
 </body>
diff --git a/docs/snapshot/ref/Versions/Grails BOM.html 
b/docs/snapshot/ref/Versions/Grails BOM.html
index dfb83197747..1a2607c783e 100644
--- a/docs/snapshot/ref/Versions/Grails BOM.html        
+++ b/docs/snapshot/ref/Versions/Grails BOM.html        
@@ -4467,9 +4467,9 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">534</p></td>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">org.apache.commons</p></td>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">commons-lang3</p></td>
-<td class="tableblock halign-left valign-top"><p 
class="tableblock">3.17.0</p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">3.20.0</p></td>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">${commons-lang3.version}</p></td>
-<td class="tableblock halign-left valign-top"><p 
class="tableblock">spring-boot-dependencies</p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">grails-bom</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock">535</p></td>


Reply via email to