【问题标题】:Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'创建名为“mongoTransactionManager”的bean时出错:设置bean属性“datastore”时无法解析对bean“mongoDatastore”的引用
【发布时间】:2015-08-10 06:12:01
【问题描述】:

我正在尝试将 Grails 项目与 MongoDB 连接,但出现以下错误

创建名为“mongoTransactionManager”的 bean 时出错:在设置 bean 属性“datastore”时无法解析对 bean“mongoDatastore”的引用

我的 DataSource.groovy 文件-

    grails{
        mongo{
            host ="127.0.0.1"
            port ="27017"
            username = "blogproject"
            password = "mypassword"
            databaseName ="blogproject"
        }
    }

我已经从 BuildConfig.groovy 中删除了以下内容

//runtime ":hibernate:3.6.10.12" 
//runtime ":database-migration:1.3.8"
//compile ':cache:1.1.1'

并在 BuildConfig.groovy 中添加以下内容

   compile ":mongodb:3.0.3"

我的错误堆栈跟踪如下-

Error |
2015-08-10 11:17:15,002 [localhost-startStop-1] ERROR context.GrailsContextLoader  - Error initializing the application: Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [blogproject], username = [blogproject], password = [m*********d]
Message: Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [blogproject], username = [blogproject], password = [m*********d]
    Line | Method
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . in java.lang.Thread
Caused by BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [blogproject], username = [blogproject], password = [m*********d]
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . in java.lang.Thread
Caused by CannotGetMongoDbConnectionException: Failed to authenticate to database [blogproject], username = [blogproject], password = [m*********d]
->>  285 | initializeIndices in org.grails.datastore.mapping.mongo.MongoDatastore
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    276 | createMongoTemplate in     ''
|    221 | afterPropertiesSet in     ''
|     54 | getObject in org.grails.datastore.gorm.mongo.bean.factory.MongoDatastoreFactoryBean
|    334 | innerRun  in java.util.concurrent.FutureTask$Sync
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . in java.lang.Thread
|Server running. Browse to http://localhost:8090/blogproject
Error |
Forked Grails VM exited with error

我还在 MongoDB 中添加了以下用户用于数据库“blogproject”进行身份验证

> use blogproject
switched to db blogproject
> show users;
{
        "_id" : "blogproject.blogproject",
        "user" : "blogproject",
        "db" : "blogproject",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "blogproject"
                },
                {
                        "role" : "dbAdmin",
                        "db" : "blogproject"
                },
                {
                        "role" : "dbOwner",
                        "db" : "blogproject"
                },
                {
                        "role" : "userAdmin",
                        "db" : "blogproject"
                }
        ]
}
>

【问题讨论】:

    标签: java mongodb grails groovy


    【解决方案1】:

    看起来用户名和/或密码错误:

    Failed to authenticate to database [blogproject], username = [blogproject], password = [m*********d]
    

    【讨论】:

    • @Tushar 但错误消息说的是其他一些事情。也许您按照预期连接到不同的数据库?
    猜你喜欢
    • 2018-04-29
    • 2015-06-29
    • 1970-01-01
    • 2017-08-17
    • 2021-05-14
    • 1970-01-01
    • 2021-03-10
    • 2020-06-26
    • 2020-09-27
    相关资源
    最近更新 更多