You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by as...@apache.org on 2026/02/25 20:51:34 UTC
(grails-website) branch asf-site-production updated: Deploying to documentation branch - 20:51:24
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 233b26ab8b8 Deploying to documentation branch - 20:51:24
233b26ab8b8 is described below
commit 233b26ab8b847b2b7a4c362fb5b40aeb22a6df75
Author: jdaugherty <jd...@users.noreply.github.com>
AuthorDate: Wed Feb 25 20:51:27 2026 +0000
Deploying to documentation branch - 20:51:24
---
docs/snapshot/api/index-all.html | 7 ++--
.../GrailsOpenSessionInViewInterceptor.html | 40 +++++++++++++++++++---
.../plugin/hibernate/support/package-summary.html | 3 +-
.../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/hibernate5/api/index-all.html | 7 ++--
.../GrailsOpenSessionInViewInterceptor.html | 40 +++++++++++++++++++---
.../plugin/hibernate/support/package-summary.html | 3 +-
.../grails-data/mongodb/api/index-all.html | 7 ++--
.../GrailsOpenSessionInViewInterceptor.html | 40 +++++++++++++++++++---
.../plugin/hibernate/support/package-summary.html | 3 +-
.../grails-data/whats-new-manual/index.html | 2 +-
21 files changed, 138 insertions(+), 36 deletions(-)
diff --git a/docs/snapshot/api/index-all.html b/docs/snapshot/api/index-all.html
index 12a05227b98..177f22b6050 100644
--- a/docs/snapshot/api/index-all.html
+++ b/docs/snapshot/api/index-all.html
@@ -1281,6 +1281,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/interceptors/GrailsInterceptorHandlerInterceptorAdapter.html#afterCompletion(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception)" title="Method in GrailsInterceptorHandlerInterceptorAdapter">afterCompletion(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception)</a></span> - Method in <a href="org/ [...]
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)" title="Method in GrailsOpenSessionInViewInterceptor">afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)</a></span> - Method in <a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html">GrailsOpenSessionInViewInterceptor</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/web/support/OpenSessionInViewInterceptor.html#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)" title="Method in OpenSessionInViewInterceptor">afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)</a></span> - Method in <a href="org/grails/datastore/mapping/web/support/OpenSessionInViewInterceptor.html">OpenSessionInViewInterceptor</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/transactions/support/SpringSessionSynchronization.html#afterCompletion(int)" title="Method in SpringSessionSynchronization">afterCompletion(int)</a></span> - Method in <a href="org/grails/datastore/mapping/transactions/support/SpringSessionSynchronization.html">SpringSessionSynchronization</a>
@@ -22484,8 +22486,7 @@ if (location.href.indexOf('is-external=true') == -1) {
<dt><span class="strong"><a href="org/apache/grails/web/layout/GrailsNoDecorator.html" title="Class in org.apache.grails.web.layout">GrailsNoDecorator</a></span> - Class in <a href="./org/apache/grails/web/layout/package-summary.html">org.apache.grails.web.layout</a>
</dt><dd><div class="block">Grails version of Sitemesh's NoDecorator</div></dd>
<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html" title="Class in org.grails.plugin.hibernate.support">GrailsOpenSessionInViewInterceptor</a></span> - Class in <a href="./org/grails/plugin/hibernate/support/package-summary.html">org.grails.plugin.hibernate.support</a>
-</dt><dd><div class="block">Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.</div></dd>
+</dt><dd><div class="block">Extends the default Spring OSIV to support multiple datasources.</div></dd>
<dt><span class="strong"><a href="org/apache/grails/web/layout/GrailsPageResponseWrapper.html" title="Class in org.apache.grails.web.layout">GrailsPageResponseWrapper</a></span> - Class in <a href="./org/apache/grails/web/layout/package-summary.html">org.apache.grails.web.layout</a>
</dt><dd><div class="block"> <DL><DT><B>Authors:</B></DT><DD>Graeme Rocher</DD></DL></div></dd>
<dt><span class="strong"><a href="org/apache/grails/web/layout/GrailsPageResponseWrapper.html#GrailsPageResponseWrapper(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, com.opensymphony.module.sitemesh.PageParserSelector)" title="Constructor in GrailsPageResponseWrapper">GrailsPageResponseWrapper(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, com.opensymphony.module.sitemesh.PageParserSelector)</a></span> - Constructor [...]
@@ -33825,6 +33826,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/interceptors/GrailsInterceptorHandlerInterceptorAdapter.html#preHandle(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object)" title="Method in GrailsInterceptorHandlerInterceptorAdapter">preHandle(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object)</a></span> - Method in <a href="org/grails/plugins/web/interceptors/GrailsInterceptorHandl [...]
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html#preHandle(org.springframework.web.context.request.WebRequest)" title="Method in GrailsOpenSessionInViewInterceptor">preHandle(org.springframework.web.context.request.WebRequest)</a></span> - Method in <a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html">GrailsOpenSessionInViewInterceptor</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/web/support/OpenSessionInViewInterceptor.html#preHandle(org.springframework.web.context.request.WebRequest)" title="Method in OpenSessionInViewInterceptor">preHandle(org.springframework.web.context.request.WebRequest)</a></span> - Method in <a href="org/grails/datastore/mapping/web/support/OpenSessionInViewInterceptor.html">OpenSessionInViewInterceptor</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/web/i18n/ParamsAwareLocaleChangeInterceptor.html#preHandle(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object)" title="Method in ParamsAwareLocaleChangeInterceptor">preHandle(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object)</a></span> - Method in <a href="org/grails/web/i18n/ParamsAwareLocaleChangeInterceptor.html">ParamsAwareLocaleChangeInterc [...]
diff --git a/docs/snapshot/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html b/docs/snapshot/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
index a0a1b460130..3cb15bed77e 100644
--- a/docs/snapshot/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
+++ b/docs/snapshot/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
@@ -104,8 +104,12 @@ if (location.href.indexOf('is-external=true') == -1) {
<pre>public class GrailsOpenSessionInViewInterceptor
extends <a href='../../../../../org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor.html'>OpenSessionInViewInterceptor</a></pre>
- <p> Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.
+ <p> Extends the default Spring OSIV to support multiple datasources.
+ <p>
+ The default datasource's SessionFactory is managed by the parent class.
+ Additional (non-default) datasource SessionFactories are managed by this
+ subclass, which opens and closes sessions for each one alongside the
+ default session.
<DL><DT><B>Authors:</B></DT><DD>Graeme Rocher</DD></DL><DL><DT><B>Since:</B></DT><DD>0.5</DD></DL></p>
</li>
@@ -171,23 +175,35 @@ extends <a href='../../../../../org.springframework.orm.hibernate5.support.OpenS
</tr>
<tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>public void</code></td>
+ <td class="colLast"><code><strong><a href="#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)">afterCompletion</a></strong>(<a href='../../../../../org.springframework.web.context.request.WebRequest.html'>WebRequest</a> request, java.lang.Exception ex)</code><br></td>
+ </tr>
+
+ <tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="#applyFlushMode(org.hibernate.Session)">applyFlushMode</a></strong>(<a href='../../../../../org.hibernate.Session.html'>Session</a> session)</code><br></td>
</tr>
- <tr class="rowColor">
+ <tr class="altColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>protected <a href='../../../../../org.hibernate.Session.html'>Session</a></code></td>
<td class="colLast"><code><strong><a href="#openSession()">openSession</a></strong>()</code><br></td>
</tr>
- <tr class="altColor">
+ <tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>public void</code></td>
<td class="colLast"><code><strong><a href="#postHandle(org.springframework.web.context.request.WebRequest, org.springframework.ui.ModelMap)">postHandle</a></strong>(<a href='../../../../../org.springframework.web.context.request.WebRequest.html'>WebRequest</a> request, <a href='../../../../../org.springframework.ui.ModelMap.html'>ModelMap</a> model)</code><br></td>
</tr>
+ <tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>public void</code></td>
+ <td class="colLast"><code><strong><a href="#preHandle(org.springframework.web.context.request.WebRequest)">preHandle</a></strong>(<a href='../../../../../org.springframework.web.context.request.WebRequest.html'>WebRequest</a> request)</code><br></td>
+ </tr>
+
<tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>public void</code></td>
@@ -244,6 +260,14 @@ extends <a href='../../../../../org.springframework.orm.hibernate5.support.OpenS
</a>
<h3>Method Detail</h3>
+ <a name="afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>public void <strong>afterCompletion</strong>(<a href='../../../../../org.springframework.web.context.request.WebRequest.html'>WebRequest</a> request, java.lang.Exception ex)</h4>
+ <p></p>
+ </li>
+ </ul>
+
<a name="applyFlushMode(org.hibernate.Session)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
@@ -268,6 +292,14 @@ extends <a href='../../../../../org.springframework.orm.hibernate5.support.OpenS
</li>
</ul>
+ <a name="preHandle(org.springframework.web.context.request.WebRequest)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>public void <strong>preHandle</strong>(<a href='../../../../../org.springframework.web.context.request.WebRequest.html'>WebRequest</a> request)</h4>
+ <p></p>
+ </li>
+ </ul>
+
<a name="setHibernateDatastore(org.grails.orm.hibernate.AbstractHibernateDatastore)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
diff --git a/docs/snapshot/api/org/grails/plugin/hibernate/support/package-summary.html b/docs/snapshot/api/org/grails/plugin/hibernate/support/package-summary.html
index f41c1bebb1c..516c9e986e2 100644
--- a/docs/snapshot/api/org/grails/plugin/hibernate/support/package-summary.html
+++ b/docs/snapshot/api/org/grails/plugin/hibernate/support/package-summary.html
@@ -136,8 +136,7 @@ function windowTitle()
GrailsOpenSessionInViewInterceptor
</a></strong>
</td>
- <td>Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.</td>
+ <td>Extends the default Spring OSIV to support multiple datasources.</td>
</tr>
<tr class="altColor">
<td class="colOne">
diff --git a/docs/snapshot/grails-data/developer-manual/gettingStarted.html b/docs/snapshot/grails-data/developer-manual/gettingStarted.html
index a39e2048f32..d55da4602bf 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 645ae702f5c..230e9ecb661 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 a0b40adf40d..75b54147088 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 fded740a8d7..3c306ff94d2 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 5d1bf572515..47c959269c7 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 2e4b0c6890b..68661c34ca6 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 b6fc31d3259..79854e5b91b 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 b2bba3877bb..8cc23548aed 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 e66009a1a15..6d672a62022 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 f8b87f64b1e..c4128162ec9 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 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 d0010161ae7..fe7edad54ed 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 UTC
</div>
</div>
</body>
diff --git a/docs/snapshot/grails-data/hibernate5/api/index-all.html b/docs/snapshot/grails-data/hibernate5/api/index-all.html
index 0cdc16c51f0..b391651eca4 100644
--- a/docs/snapshot/grails-data/hibernate5/api/index-all.html
+++ b/docs/snapshot/grails-data/hibernate5/api/index-all.html
@@ -581,6 +581,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/mapping/transactions/support/SpringSessionSynchronization.html#afterCommit()" title="Method in SpringSessionSynchronization">afterCommit()</a></span> - Method in <a href="org/grails/datastore/mapping/transactions/support/SpringSessionSynchronization.html">SpringSessionSynchronization</a>
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)" title="Method in GrailsOpenSessionInViewInterceptor">afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)</a></span> - Method in <a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html">GrailsOpenSessionInViewInterceptor</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/transactions/support/SpringSessionSynchronization.html#afterCompletion(int)" title="Method in SpringSessionSynchronization">afterCompletion(int)</a></span> - Method in <a href="org/grails/datastore/mapping/transactions/support/SpringSessionSynchronization.html">SpringSessionSynchronization</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/gorm/events/DomainEventListener.html#afterDelete(org.grails.datastore.mapping.model.PersistentEntity, org.grails.datastore.mapping.engine.EntityAccess, org.grails.datastore.mapping.engine.event.PostDeleteEvent)" title="Method in DomainEventListener">afterDelete(org.grails.datastore.mapping.model.PersistentEntity, org.grails.datastore.mapping.engine.EntityAccess, org.grails.datastore.mapping.engine.event.PostDeleteEvent)</a></span> - [...]
@@ -7766,8 +7768,7 @@ if (location.href.indexOf('is-external=true') == -1) {
<dt><span class="strong"><a href="org/grails/plugins/databasemigration/liquibase/GrailsLiquibaseFactory.html#GrailsLiquibaseFactory(org.springframework.context.ApplicationContext)" title="Constructor in GrailsLiquibaseFactory">GrailsLiquibaseFactory(org.springframework.context.ApplicationContext)</a></span> - Constructor in <a href="org/grails/plugins/databasemigration/liquibase/GrailsLiquibaseFactory.html">GrailsLiquibaseFactory</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html" title="Class in org.grails.plugin.hibernate.support">GrailsOpenSessionInViewInterceptor</a></span> - Class in <a href="./org/grails/plugin/hibernate/support/package-summary.html">org.grails.plugin.hibernate.support</a>
-</dt><dd><div class="block">Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.</div></dd>
+</dt><dd><div class="block">Extends the default Spring OSIV to support multiple datasources.</div></dd>
<dt><span class="strong"><a href="grails/orm/bootstrap/HibernateDatastoreSpringInitializer.html#grailsPlugin" title="Property in HibernateDatastoreSpringInitializer">grailsPlugin</a></span> - Property in <a href="grails/orm/bootstrap/HibernateDatastoreSpringInitializer.html">HibernateDatastoreSpringInitializer</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/orm/hibernate/exceptions/GrailsQueryException.html" title="Class in org.grails.orm.hibernate.exceptions">GrailsQueryException</a></span> - Class in <a href="./org/grails/orm/hibernate/exceptions/package-summary.html">org.grails.orm.hibernate.exceptions</a>
@@ -12067,6 +12068,8 @@ if (location.href.indexOf('is-external=true') == -1) {
</dt><dd> <div class="block">The prefix</div></dd>
<dt><span class="strong"><a href="org/grails/datastore/gorm/services/implementers/PrefixedServiceImplementer.html" title="Interface in org.grails.datastore.gorm.services.implementers">PrefixedServiceImplementer</a></span> - Interface in <a href="./org/grails/datastore/gorm/services/implementers/package-summary.html">org.grails.datastore.gorm.services.implementers</a>
</dt><dd><div class="block">An implementer that uses a set of prefixes</div></dd>
+<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html#preHandle(org.springframework.web.context.request.WebRequest)" title="Method in GrailsOpenSessionInViewInterceptor">preHandle(org.springframework.web.context.request.WebRequest)</a></span> - Method in <a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html">GrailsOpenSessionInViewInterceptor</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/mongo/engine/AbstractMongoObectEntityPersister.MongoAssociationIndexer.html#preIndex(java.lang.Object, java.util.List)" title="Method in AbstractMongoObectEntityPersister.MongoAssociationIndexer">preIndex(java.lang.Object, java.util.List)</a></span> - Method in <a href="org/grails/datastore/mapping/mongo/engine/AbstractMongoObectEntityPersister.MongoAssociationIndexer.html">AbstractMongoObectEntityPersister.MongoAssociationIn [...]
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/engine/AssociationIndexer.html#preIndex(K, List<T>)" title="Method in AssociationIndexer">preIndex(K, List<T>)</a></span> - Method in <a href="org/grails/datastore/mapping/engine/AssociationIndexer.html">AssociationIndexer</a>
diff --git a/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html b/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
index f545850938f..4a3dd04c5aa 100644
--- a/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
+++ b/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
@@ -104,8 +104,12 @@ if (location.href.indexOf('is-external=true') == -1) {
<pre>public class GrailsOpenSessionInViewInterceptor
extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor</pre>
- <p> Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.
+ <p> Extends the default Spring OSIV to support multiple datasources.
+ <p>
+ The default datasource's SessionFactory is managed by the parent class.
+ Additional (non-default) datasource SessionFactories are managed by this
+ subclass, which opens and closes sessions for each one alongside the
+ default session.
<DL><DT><B>Authors:</B></DT><DD>Graeme Rocher</DD></DL><DL><DT><B>Since:</B></DT><DD>0.5</DD></DL></p>
</li>
@@ -188,23 +192,35 @@ extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor<
</tr>
<tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>public void</code></td>
+ <td class="colLast"><code><strong><a href="#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)">afterCompletion</a></strong>(org.springframework.web.context.request.WebRequest request, java.lang.Exception ex)</code><br></td>
+ </tr>
+
+ <tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="#applyFlushMode(org.hibernate.Session)">applyFlushMode</a></strong>(org.hibernate.Session session)</code><br></td>
</tr>
- <tr class="rowColor">
+ <tr class="altColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>protected org.hibernate.Session</code></td>
<td class="colLast"><code><strong><a href="#openSession()">openSession</a></strong>()</code><br></td>
</tr>
- <tr class="altColor">
+ <tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>public void</code></td>
<td class="colLast"><code><strong><a href="#postHandle(org.springframework.web.context.request.WebRequest, org.springframework.ui.ModelMap)">postHandle</a></strong>(org.springframework.web.context.request.WebRequest request, org.springframework.ui.ModelMap model)</code><br></td>
</tr>
+ <tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>public void</code></td>
+ <td class="colLast"><code><strong><a href="#preHandle(org.springframework.web.context.request.WebRequest)">preHandle</a></strong>(org.springframework.web.context.request.WebRequest request)</code><br></td>
+ </tr>
+
<tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>public void</code></td>
@@ -279,6 +295,14 @@ extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor<
</a>
<h3>Method Detail</h3>
+ <a name="afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>public void <strong>afterCompletion</strong>(org.springframework.web.context.request.WebRequest request, java.lang.Exception ex)</h4>
+ <p></p>
+ </li>
+ </ul>
+
<a name="applyFlushMode(org.hibernate.Session)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
@@ -303,6 +327,14 @@ extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor<
</li>
</ul>
+ <a name="preHandle(org.springframework.web.context.request.WebRequest)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>public void <strong>preHandle</strong>(org.springframework.web.context.request.WebRequest request)</h4>
+ <p></p>
+ </li>
+ </ul>
+
<a name="setHibernateDatastore(org.grails.orm.hibernate.AbstractHibernateDatastore)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
diff --git a/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/package-summary.html b/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/package-summary.html
index d600498e894..01293eb4c22 100644
--- a/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/package-summary.html
+++ b/docs/snapshot/grails-data/hibernate5/api/org/grails/plugin/hibernate/support/package-summary.html
@@ -136,8 +136,7 @@ function windowTitle()
GrailsOpenSessionInViewInterceptor
</a></strong>
</td>
- <td>Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.</td>
+ <td>Extends the default Spring OSIV to support multiple datasources.</td>
</tr>
<tr class="altColor">
<td class="colOne">
diff --git a/docs/snapshot/grails-data/mongodb/api/index-all.html b/docs/snapshot/grails-data/mongodb/api/index-all.html
index e7f24b1dd2c..8df5bae2e4e 100644
--- a/docs/snapshot/grails-data/mongodb/api/index-all.html
+++ b/docs/snapshot/grails-data/mongodb/api/index-all.html
@@ -264,6 +264,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#addUnderscore(java.lang.String, java.lang.String)" title="Method in GrailsDomainBinder">addUnderscore(java.lang.String, java.lang.String)</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/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)" title="Method in GrailsOpenSessionInViewInterceptor">afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)</a></span> - Method in <a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html">GrailsOpenSessionInViewInterceptor</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/orm/hibernate/support/HibernateDialectDetectorFactoryBean.html#afterPropertiesSet()" title="Method in HibernateDialectDetectorFactoryBean">afterPropertiesSet()</a></span> - Method in <a href="org/grails/orm/hibernate/support/HibernateDialectDetectorFactoryBean.html">HibernateDialectDetectorFactoryBean</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/orm/hibernate/HibernateMappingContextSessionFactoryBean.html#afterPropertiesSet()" title="Method in HibernateMappingContextSessionFactoryBean">afterPropertiesSet()</a></span> - Method in <a href="org/grails/orm/hibernate/HibernateMappingContextSessionFactoryBean.html">HibernateMappingContextSessionFactoryBean</a>
@@ -3547,8 +3549,7 @@ if (location.href.indexOf('is-external=true') == -1) {
<dt><span class="strong"><a href="org/grails/plugins/databasemigration/liquibase/GrailsLiquibaseFactory.html#GrailsLiquibaseFactory(org.springframework.context.ApplicationContext)" title="Constructor in GrailsLiquibaseFactory">GrailsLiquibaseFactory(org.springframework.context.ApplicationContext)</a></span> - Constructor in <a href="org/grails/plugins/databasemigration/liquibase/GrailsLiquibaseFactory.html">GrailsLiquibaseFactory</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html" title="Class in org.grails.plugin.hibernate.support">GrailsOpenSessionInViewInterceptor</a></span> - Class in <a href="./org/grails/plugin/hibernate/support/package-summary.html">org.grails.plugin.hibernate.support</a>
-</dt><dd><div class="block">Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.</div></dd>
+</dt><dd><div class="block">Extends the default Spring OSIV to support multiple datasources.</div></dd>
<dt><span class="strong"><a href="grails/orm/bootstrap/HibernateDatastoreSpringInitializer.html#grailsPlugin" title="Property in HibernateDatastoreSpringInitializer">grailsPlugin</a></span> - Property in <a href="grails/orm/bootstrap/HibernateDatastoreSpringInitializer.html">HibernateDatastoreSpringInitializer</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/orm/hibernate/exceptions/GrailsQueryException.html" title="Class in org.grails.orm.hibernate.exceptions">GrailsQueryException</a></span> - Class in <a href="./org/grails/orm/hibernate/exceptions/package-summary.html">org.grails.orm.hibernate.exceptions</a>
@@ -5441,6 +5442,8 @@ if (location.href.indexOf('is-external=true') == -1) {
</dt><dd> <div class="block">The precision of the column</div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/mongo/config/MongoSettings.html#PREFIX" title="Field in MongoSettings">PREFIX</a></span> - Field in <a href="org/grails/datastore/mapping/mongo/config/MongoSettings.html">MongoSettings</a>
</dt><dd> <div class="block">The prefix</div></dd>
+<dt><span class="strong"><a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html#preHandle(org.springframework.web.context.request.WebRequest)" title="Method in GrailsOpenSessionInViewInterceptor">preHandle(org.springframework.web.context.request.WebRequest)</a></span> - Method in <a href="org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html">GrailsOpenSessionInViewInterceptor</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/datastore/mapping/mongo/engine/AbstractMongoObectEntityPersister.MongoAssociationIndexer.html#preIndex(java.lang.Object, java.util.List)" title="Method in AbstractMongoObectEntityPersister.MongoAssociationIndexer">preIndex(java.lang.Object, java.util.List)</a></span> - Method in <a href="org/grails/datastore/mapping/mongo/engine/AbstractMongoObectEntityPersister.MongoAssociationIndexer.html">AbstractMongoObectEntityPersister.MongoAssociationIn [...]
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a href="org/grails/orm/hibernate/GrailsHibernateTemplate.html#prepareCriteria(Query<T>)" title="Method in GrailsHibernateTemplate">prepareCriteria(Query<T>)</a></span> - Method in <a href="org/grails/orm/hibernate/GrailsHibernateTemplate.html">GrailsHibernateTemplate</a>
diff --git a/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html b/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
index 1d0dfa7a9a9..0a65cf7ce16 100644
--- a/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
+++ b/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/GrailsOpenSessionInViewInterceptor.html
@@ -104,8 +104,12 @@ if (location.href.indexOf('is-external=true') == -1) {
<pre>public class GrailsOpenSessionInViewInterceptor
extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor</pre>
- <p> Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.
+ <p> Extends the default Spring OSIV to support multiple datasources.
+ <p>
+ The default datasource's SessionFactory is managed by the parent class.
+ Additional (non-default) datasource SessionFactories are managed by this
+ subclass, which opens and closes sessions for each one alongside the
+ default session.
<DL><DT><B>Authors:</B></DT><DD>Graeme Rocher</DD></DL><DL><DT><B>Since:</B></DT><DD>0.5</DD></DL></p>
</li>
@@ -188,23 +192,35 @@ extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor<
</tr>
<tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>public void</code></td>
+ <td class="colLast"><code><strong><a href="#afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)">afterCompletion</a></strong>(org.springframework.web.context.request.WebRequest request, java.lang.Exception ex)</code><br></td>
+ </tr>
+
+ <tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="#applyFlushMode(org.hibernate.Session)">applyFlushMode</a></strong>(org.hibernate.Session session)</code><br></td>
</tr>
- <tr class="rowColor">
+ <tr class="altColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>protected org.hibernate.Session</code></td>
<td class="colLast"><code><strong><a href="#openSession()">openSession</a></strong>()</code><br></td>
</tr>
- <tr class="altColor">
+ <tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>public void</code></td>
<td class="colLast"><code><strong><a href="#postHandle(org.springframework.web.context.request.WebRequest, org.springframework.ui.ModelMap)">postHandle</a></strong>(org.springframework.web.context.request.WebRequest request, org.springframework.ui.ModelMap model)</code><br></td>
</tr>
+ <tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>public void</code></td>
+ <td class="colLast"><code><strong><a href="#preHandle(org.springframework.web.context.request.WebRequest)">preHandle</a></strong>(org.springframework.web.context.request.WebRequest request)</code><br></td>
+ </tr>
+
<tr class="rowColor">
<td class="colFirst"><code></code></td>
<td class="colLast"><code>public void</code></td>
@@ -279,6 +295,14 @@ extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor<
</a>
<h3>Method Detail</h3>
+ <a name="afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>public void <strong>afterCompletion</strong>(org.springframework.web.context.request.WebRequest request, java.lang.Exception ex)</h4>
+ <p></p>
+ </li>
+ </ul>
+
<a name="applyFlushMode(org.hibernate.Session)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
@@ -303,6 +327,14 @@ extends org.springframework.orm.hibernate5.support.OpenSessionInViewInterceptor<
</li>
</ul>
+ <a name="preHandle(org.springframework.web.context.request.WebRequest)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>public void <strong>preHandle</strong>(org.springframework.web.context.request.WebRequest request)</h4>
+ <p></p>
+ </li>
+ </ul>
+
<a name="setHibernateDatastore(org.grails.orm.hibernate.AbstractHibernateDatastore)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
diff --git a/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/package-summary.html b/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/package-summary.html
index 0eb99e25e47..ae7bb4a6c2c 100644
--- a/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/package-summary.html
+++ b/docs/snapshot/grails-data/mongodb/api/org/grails/plugin/hibernate/support/package-summary.html
@@ -136,8 +136,7 @@ function windowTitle()
GrailsOpenSessionInViewInterceptor
</a></strong>
</td>
- <td>Extends the default spring OSIV and doesn't flush the session if it has been set
- to MANUAL on the session itself.</td>
+ <td>Extends the default Spring OSIV to support multiple datasources.</td>
</tr>
<tr class="altColor">
<td class="colOne">
diff --git a/docs/snapshot/grails-data/whats-new-manual/index.html b/docs/snapshot/grails-data/whats-new-manual/index.html
index 17ed31b1b1f..252ea32198f 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-25 19:27:01 UTC
+Last updated 2026-02-25 20:39:19 UTC
</div>
</div>
</body>