【问题标题】:mongoProperties properties are nullmongoProperties 属性为空
【发布时间】:2016-09-02 06:09:20
【问题描述】:

我是 Jhipster 的新手。我用 mongodb 创建了网关项目。我在 docker 中启动了 jhipster-registry 和 mongodb。没有其他微服务。当我调试网关项目时,我发现以下错误:

Caused by: java.lang.IllegalArgumentException: Database name must not be empty
at org.springframework.util.Assert.hasText(Assert.java:168)
at org.springframework.data.mongodb.core.SimpleMongoDbFactory.<init>(SimpleMongoDbFactory.java:142)
at org.springframework.data.mongodb.core.SimpleMongoDbFactory.<init>(SimpleMongoDbFactory.java:93)
at org.springframework.data.mongodb.config.AbstractMongoConfiguration.mongoDbFactory(AbstractMongoConfiguration.java:114)
at com.xx.cloud.demo.config.DatabaseConfiguration$$EnhancerBySpringCGLIB$$65a29278.CGLIB$mongoDbFactory$6(<generated>)
at com.xx.cloud.demo.config.DatabaseConfiguration$$EnhancerBySpringCGLIB$$65a29278$$FastClassBySpringCGLIB$$7563f63.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
at com.xx.cloud.demo.config.DatabaseConfiguration$$EnhancerBySpringCGLIB$$65a29278.mongoDbFactory(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 182 common frames omitted

我在 DatabaseConfiguration.java 类的 getDatabaseName() 方法中放置了一个断点并调试 getwayApp.java。我发现 mongoProperties 的所有属性都是空的,除了值为 'mongodb://localhost/test' 的 url。我在 application-dev.yml 中配置数据是这样的:

data:
    cassandra:
        contactPoints: localhost
        protocolVersion: V4
        compression: LZ4
        keyspaceName: gateway
        repositories:
            enabled: false
        mongodb:
         host: localhost
         port: 27017
         uri: mongodb://localhost:27017
         database: jhipsterMongodbSampleApplication

但是我没有配置它的结果是一样的。

我应该如何以及在哪里配置网关中的 mongodb?提前致谢。

【问题讨论】:

    标签: jhipster


    【解决方案1】:

    你把mongodb块放在cassandra下面,减少缩进。

    另外不要忘记,您的应用程序属性应该在注册表中定义,以用于生产部署。

    【讨论】:

    • 感谢您的回复。到目前为止,与 Mongodb 没有错误关联。但出现另一个错误。
    • 2016-09-03 16:21:27.715 WARN 43029 --- [main] org.reflections.Reflections:无法使用来自 url 文件的 commons_vfs2 创建目录:/System/Library/Java/Extensions /libJ3DAudio.jnilib。跳过。 java.lang.NoClassDefFoundError: org/apache/commons/vfs2/VFS at org.reflections.vfs.Vfs$DefaultUrlTypes$7.matches(Vfs.java:281)
    • 您可能需要在 pom.xml 中添加依赖项,请参阅mvnrepository.com/artifact/org.apache.commons/commons-vfs2/2.0
    • 如果这不是由于您所做的一些更改而解决了问题,您应该在我们的 github 项目中将其报告为错误
    • 好的,感谢您的帮助。我没有更改任何代码。我会在你的 JIRA 上提交一份 CR
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 2018-03-11
    相关资源
    最近更新 更多