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

borinquenkid pushed a commit to branch test/abstract-datastore-initializer
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 393464309e901e5a2689f9a5861842c0ebedac6d
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Thu Aug 13 15:09:55 2026 -0500

    Fix setMongoBeanName being silently ignored when building a new MongoClient
    
    The mongo == null branch of getBeanDefinitions() registered the built
    MongoClient under a hardcoded 'mongo' bean name instead of the
    customizable mongoBeanName field, unlike configure()'s mongo != null
    branch which already honored it. Beyond fixing the inconsistency, this
    also resolves an IDE warning where the literal mongo(...) DSL call was
    being confused with the protected 'mongo' field of the same name.
    
    Co-Authored-By: Claude Sonnet 5 <[email protected]>
---
 .../MongoDbDataStoreSpringInitializer.groovy         |  2 +-
 .../MongoDbDataStoreSpringInitializerSpec.groovy     | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git 
a/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy
 
b/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy
index 68dfe37d57..7672e0fe8e 100644
--- 
a/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy
+++ 
b/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy
@@ -104,7 +104,7 @@ class MongoDbDataStoreSpringInitializer extends 
AbstractDatastoreInitializer {
                     bean.autowire = true
                 }
                 mongoDatastore(MongoDatastore, configuration, 
ref('mongoConnectionSourceFactory'), eventPublisher, 
collectMappedClasses(DATASTORE_TYPE))
-                mongo(mongoDatastore: 'getMongoClient')
+                "$mongoBeanName"(mongoDatastore: 'getMongoClient')
             }
             else {
                 mongoDatastore(MongoDatastore, mongo, configuration, 
eventPublisher, collectMappedClasses(DATASTORE_TYPE))
diff --git 
a/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy
 
b/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy
index a764e9688a..300d447ab7 100644
--- 
a/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy
+++ 
b/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy
@@ -75,6 +75,26 @@ class MongoDbDataStoreSpringInitializerSpec extends 
AutoStartedMongoSpec {
         Person.count() == 0
     }
 
+    void "Test setMongoBeanName is honored when building a new MongoClient 
from scratch"() {
+        given: "an initializer with a customized mongo bean name"
+        def initializer = makeInitializer([
+                (MongoSettings.SETTING_HOST): mongoHost,
+                (MongoSettings.SETTING_PORT): mongoPort,
+        ], Person)
+        initializer.setMongoBeanName('customMongo')
+
+        when: "the initializer is configured"
+        def applicationContext = initializer.configure()
+        def mongoDatastore = applicationContext.getBean(MongoDatastore)
+
+        then: "the client is registered under the customized bean name and not 
the default"
+        applicationContext.getBean('customMongo', MongoClient) == 
mongoDatastore.getMongoClient()
+        !applicationContext.containsBean('mongo')
+
+        cleanup:
+        mongoDatastore.destroy()
+    }
+
     void "Test the alias is created when it is the primary datastore"() {
         when: "the initializer used to setup GORM for MongoDB"
         def initializer = makeInitializer([

Reply via email to