简体   繁体   English

Jhipster mongodb

[英]Jhipster mongodb

I try to connect my webapp, built by jhipster to the mongodb at mlab.com I can connect to the db with mongo shell, but when I run the webapp, I get the following trace (below): In application-dev.yml, I have set the following: data: mongodb: uri: mongodb://dpa:pass@ds055862.mlab.com:55862 database: mydb 我尝试将jhipster构建的webapp连接到mlab.com上的mongodb,我可以使用mongo shell连接到db,但是当我运行webapp时,得到以下跟踪信息(如下):在application-dev.yml中,我已设置以下数据:数据:mongodb:uri:mongodb:// dpa:pass@ds055862.mlab.com:55862数据库:mydb

Is it something more that needs to be set ? 还需要设置更多内容吗?

2016-05-01 19:58:52.930  INFO 8620 --- [ost-startStop-1] com.mongodb.Mongo                        : Creating Mongo instance (driver version 2.13.3) with authority MongoAuthority{type=Direct, serverAddresses=[ds055862.mlab.com:55862], credentials={credentials={admin=MongoCredential{mechanism='null', userName='dpa', source='admin', password=<hidden>, mechanismProperties={}}}}} and options MongoOptions{description='null', connectionsPerHost=100, threadsAllowedToBlockForConnectionMultiplier=5, maxWaitTime=120000, connectTimeout=10000, socketTimeout=0, socketKeepAlive=false, autoConnectRetry=false, maxAutoConnectRetryTime=0, slaveOk=false, readPreference=primary, dbDecoderFactory=DefaultDBDecoder.DefaultFactory, dbEncoderFactory=DefaultDBEncoder.DefaultFactory, safe=false, w=0, wtimeout=0, fsync=false, j=false, socketFactory=javax.net.DefaultSocketFactory@6359fd27, cursorFinalizerEnabled=true, writeConcern=WriteConcern { "getlasterror" : 1} / (Continue on error? false), alwaysUseMBeans=false, requiredReplicaSetName=null}
2016-05-01 19:58:52.960  INFO 8620 --- [ost-startStop-1] com.mongodb.driver.cluster               : Cluster created with settings {hosts=[ds055862.mlab.com:55862], mode=Single, requiredClusterType=Unknown}
2016-05-01 19:58:53.009 DEBUG 8620 --- [ost-startStop-1] com.mongodb.driver.cluster               : Updating cluster description to  {type=Unknown, servers=[{address=ds055862.mlab.com:55862, type=Unknown, state=Connecting}]
2016-05-01 19:58:53.279 DEBUG 8620 --- [.mlab.com:55862] com.mongodb.driver.cluster               : Checking status of ds055862.mlab.com:55862
2016-05-01 19:58:53.329  INFO 8620 --- [.mlab.com:55862] com.mongodb.driver.cluster               : Monitor thread successfully connected to server with description ServerDescription{address=ds055862.mlab.com:55862, type=ReplicaSetPrimary, canonicalAddress=ds055862-a.mlab.com:55862, hosts=[ds055862-a.mlab.com:55862], passives=[], arbiters=[], primary='ds055862-a.mlab.com:55862', maxDocumentSize=16777216, maxMessageSize=48000000, maxWriteBatchSize=1000, electionId=56203acf22007aa94e6ede29, tagSet=TagSet{[]}, setName='rs-ds055862', averageLatencyNanos=47145520, ok=true, state=Connected, version=ServerVersion{versionList=[3, 0, 7]}, minWireVersion=0, maxWireVersion=3}
2016-05-01 19:58:53.333 DEBUG 8620 --- [.mlab.com:55862] com.mongodb.driver.cluster               : Updating cluster description to  {type=ReplicaSet, servers=[{address=ds055862.mlab.com:55862, type=ReplicaSetPrimary, averageLatency=47,1 ms, state=Connected}]
2016-05-01 19:58:54.471  INFO 8620 --- [ost-startStop-1] mlo.myapp.MyappApp                       : Running with Spring profile(s) : [dev]
2016-05-01 19:58:56.979 DEBUG 8620 --- [           main] m.m.config.social.SocialConfiguration    : Configuring GoogleConnectionFactory
2016-05-01 19:58:57.009 DEBUG 8620 --- [           main] m.m.config.social.SocialConfiguration    : Configuring FacebookConnectionFactory
2016-05-01 19:58:57.016 DEBUG 8620 --- [           main] m.m.config.social.SocialConfiguration    : Configuring TwitterConnectionFactory
2016-05-01 19:58:58.334 DEBUG 8620 --- [.mlab.com:55862] com.mongodb.driver.cluster               : Checking status of ds055862.mlab.com:55862
2016-05-01 19:58:58.401 DEBUG 8620 --- [.mlab.com:55862] com.mongodb.driver.cluster               : Updating cluster description to  {type=ReplicaSet, servers=[{address=ds055862.mlab.com:55862, type=ReplicaSetPrimary, averageLatency=56,2 ms, state=Connected}]
2016-05-01 19:58:59.669 DEBUG 8620 --- [           main] mlo.myapp.config.CacheConfiguration      : No cache
2016-05-01 19:59:00.625 DEBUG 8620 --- [           main] m.m.config.apidoc.SwaggerConfiguration   : Starting Swagger
2016-05-01 19:59:00.660 DEBUG 8620 --- [           main] m.m.config.apidoc.SwaggerConfiguration   : Started Swagger in 33 ms
2016-05-01 19:59:00.727 DEBUG 8620 --- [           main] mlo.myapp.config.DatabaseConfiguration   : Configuring Mongobee
2016-05-01 19:59:00.749  INFO 8620 --- [           main] com.github.mongobee.Mongobee             : Mongobee has started the data migration sequence..
2016-05-01 19:59:00.752 TRACE 8620 --- [           main] com.mongodb.TRACE                        : find: mydb.system.indexes { "ns" : "mydb.dbchangelog" , "key" : { "changeId" : 1 , "author" : 1}}
2016-05-01 19:59:00.849 DEBUG 8620 --- [           main] com.mongodb.driver.connection            : Opened connection to ds055862.mlab.com:55862
2016-05-01 19:59:01.201 DEBUG 8620 --- [           main] com.mongodb.driver.cluster               : Updating cluster description to  {type=Unknown, servers=[{address=ds055862.mlab.com:55862, type=Unknown, state=Connecting}]
2016-05-01 19:59:01.203 DEBUG 8620 --- [           main] com.mongodb.driver.connection            : Closed connection to ds055862.mlab.com:55862 because there was a socket exception raised on another connection from this pool.
2016-05-01 19:59:01.204  WARN 8620 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongobee' defined in class path resource [mlo/myapp/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is com.mongodb.CommandFailureException: { "serverUsed" : "ds055862.mlab.com:55862" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."}
2016-05-01 19:59:01.223  INFO 8620 --- [           main] mlo.myapp.config.CacheConfiguration      : Closing Cache Manager
2016-05-01 19:59:01.262 ERROR 8620 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongobee' defined in class path resource [mlo/myapp/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is com.mongodb.CommandFailureException: { "serverUsed" : "ds055862.mlab.com:55862" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."}
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
        at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
        at mlo.myapp.MyappApp.main(MyappApp.java:69)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
        at java.lang.Thread.run(Unknown Source)
Caused by: com.mongodb.CommandFailureException: { "serverUsed" : "ds055862.mlab.com:55862" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."}
        at com.mongodb.CommandResult.getException(CommandResult.java:76)
        at com.mongodb.CommandResult.throwOnError(CommandResult.java:140)
        at com.mongodb.DBPort$SaslAuthenticator.authenticate(DBPort.java:903)
        at com.mongodb.DBPort.authenticate(DBPort.java:436)
        at com.mongodb.DBPort.checkAuth(DBPort.java:447)
        at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:293)
        at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:273)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:84)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:66)
        at com.mongodb.DBCollection.findOne(DBCollection.java:940)
        at com.mongodb.DBCollection.findOne(DBCollection.java:914)
        at com.mongodb.DBCollection.findOne(DBCollection.java:858)
        at com.github.mongobee.dao.ChangeEntryIndexDao.findRequiredChangeAndAuthorIndex(ChangeEntryIndexDao.java:26)
        at com.github.mongobee.dao.ChangeEntryDao.ensureChangeLogCollectionIndex(ChangeEntryDao.java:75)
        at com.github.mongobee.dao.ChangeEntryDao.connectMongoDb(ChangeEntryDao.java:34)
        at com.github.mongobee.Mongobee.execute(Mongobee.java:138)
        at com.github.mongobee.Mongobee.afterPropertiesSet(Mongobee.java:120)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
        ... 20 common frames omitted

Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
        ... 1 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongobee' defined in class path resource [mlo/myapp/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is com.mongodb.CommandFailureException: { "serverUsed" : "ds055862.mlab.com:55862" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."}
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
        at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
        at mlo.myapp.MyappApp.main(MyappApp.java:69)
        ... 6 more
Caused by: com.mongodb.CommandFailureException: { "serverUsed" : "ds055862.mlab.com:55862" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."}
        at com.mongodb.CommandResult.getException(CommandResult.java:76)
        at com.mongodb.CommandResult.throwOnError(CommandResult.java:140)
        at com.mongodb.DBPort$SaslAuthenticator.authenticate(DBPort.java:903)
        at com.mongodb.DBPort.authenticate(DBPort.java:436)
        at com.mongodb.DBPort.checkAuth(DBPort.java:447)
        at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:293)
        at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:273)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:84)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:66)
        at com.mongodb.DBCollection.findOne(DBCollection.java:940)
        at com.mongodb.DBCollection.findOne(DBCollection.java:914)
        at com.mongodb.DBCollection.findOne(DBCollection.java:858)
        at com.github.mongobee.dao.ChangeEntryIndexDao.findRequiredChangeAndAuthorIndex(ChangeEntryIndexDao.java:26)
        at com.github.mongobee.dao.ChangeEntryDao.ensureChangeLogCollectionIndex(ChangeEntryDao.java:75)
        at com.github.mongobee.dao.ChangeEntryDao.connectMongoDb(ChangeEntryDao.java:34)
        at com.github.mongobee.Mongobee.execute(Mongobee.java:138)
        at com.github.mongobee.Mongobee.afterPropertiesSet(Mongobee.java:120)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
        ... 20 more

It seems that the default configuration of JHipster isn't adapted to be used with external databases such as mLab. 似乎JHipster的默认配置不适合与外部数据库(如mLab)一起使用。 Try to put the following configuration in your application-dev.yml instead. 尝试将以下配置放到application-dev.yml中。

data:
    mongodb:
        host: ds055862.mlab.com
        port: 55862
        database: mydb
        username: dpa
        password: pass

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM