0

アプリケーションをゼロから作成していますが、アプリケーションを起動すると、次のエラーが発生します。私のMongoDBのバージョンは2.6.1です

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongo': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: source can not be null
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    ... 44 common frames omitted
Caused by: java.lang.IllegalArgumentException: source can not be null
    at com.mongodb.assertions.Assertions.notNull(Assertions.java:37) ~[mongodb-driver-core-3.2.1.jar:na]
    at com.mongodb.MongoCredential.<init>(MongoCredential.java:233) ~[mongodb-driver-core-3.2.1.jar:na]
    at com.mongodb.MongoCredential.createCredential(MongoCredential.java:106) ~[mongodb-driver-core-3.2.1.jar:na]
    at org.grails.datastore.gorm.mongo.bean.factory.MongoClientFactoryBean.afterPropertiesSet(MongoClientFactoryBean.java:145) ~[grails-datastore-gorm-mongodb-5.0.1.RELEASE.jar:na]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]

私のDataSource構成は次のとおりです

grails {
            mongodb {
                host = "localhost"
                port = 27017
                username = "admin"
                password = "password"
                databaseName = "sta"
            }
        }
4

3 に答える 3

0

.yml ファイルと .groovy ファイルの両方を試しました。新しいサンプルも作成しましたが、うまくいきませんでした。問題は、バージョン 3.1.1 に同梱されていたプラグインでした。3.1.3 にアップグレードすると、問題はなくなりました。

于 2016-03-08T18:41:45.717 に答える
0

公式ガイドを確認してください:

Grails が MongoDB に接続する方法を構成したい場合は、grails-app/conf/application.yml で次の設定を使用して行うことができます。

grails:
    mongodb:
        host: "localhost"
        port: 27017
        username: "blah"
        password: "blah"
        databaseName: "foo"

次の章も確認してください: 2.3 Advanced Configuration .

于 2016-03-07T21:22:47.487 に答える
0

GORM プラグインにバグがあると思います。databaseName プロパティを認識していないようです。接続文字列を使用すると機能するようです。

connectionString: "mongodb://ユーザー名:パスワード@ホスト:ポート/データベース名"

詳細: https://docs.mongodb.com/manual/reference/connection-string/

于 2017-01-03T23:48:30.300 に答える