【问题标题】:Grails 3.0.1 not honoring application.yml mongo configGrails 3.0.1 不支持 application.yml mongo 配置
【发布时间】:2015-06-16 09:45:02
【问题描述】:

尝试仅使用 mongodb 启动 Grails 3.0.1 应用程序。 mongo 插件似乎没有读取 application.yml 文件中的 mongo 配置。我把它放在环境开发部分、环境部分之外等,但它只使用 localhost:27017 的默认配置和“test”的数据库名称。

这是当前配置:

// default application.yml stuff
environments:
  development:
   grails:
      mongo:
         host: 'ip_address_here'
         port: 27017
         databaseName: 'app_dev'
   test:
// rest of application.yml stuff

作为测试,我在 BootStrap 中转储了 grailsApplication.config 数据,mongo 的东西确实出现在那里,所以它正在加载。

【问题讨论】:

标签: mongodb grails grails-3.0


【解决方案1】:

这是适合我的配置

Grails 3.0.1 org.grails.plugins:mongodb:4.0.0

environments:
    development:
        grails:
            mongodb:
                connectionString: "mongodb://127.0.0.1/test"
                autoConnectRetry: true
                connectTimeout: 0
                maxWaitTime: 120000
                socketTimeout: 0
                socketKeepAlive: false
                writeNumer: 0
                writeTimeout: 0
                writeFsync: false
        dataSource:
            dbCreate: create-drop

【讨论】:

【解决方案2】:

查看here 了解所有配置选项。 特别注意“mongodb”而不是“mongo”

【讨论】:

  • 更改为 mongodb 适用于除数据库名称之外的所有内容。查看代码,似乎只有在它使用的连接字符串(并通过测试验证)时才能识别 databaseName。然而,我上面展示的格式在使用这个插件的 grails 2.4.x 应用程序中工作。
  • 是的,你是对的!我正在使用连接字符串,这就是它对我有用的原因。但你肯定发现了一个错误!请归档。
【解决方案3】:

文档可能有点令人困惑,这应该可以解决身份验证问题

 connectionString: "mongodb://myUserName:myPassword@ipOfServer:portOfServer/dbName"

【讨论】:

    猜你喜欢
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2019-12-16
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    相关资源
    最近更新 更多