Vark
Vark

Reputation: 113

JHipster and mongodb : Error creating bean with name 'mongobee'

I am rather new to JHipster and I followed their instructions in order to create a new app. The app was created, imported into STS as a Maven project and I updated it.

However as soon as I try to start it via the Boot Dashboard I get this output :

2016-12-07 16:43:14.887  INFO 6396 --- [  restartedMain] com.mycompany.myapp.MdcApp               : Starting MdcApp on PC981 with PID 6396 (C:\Users\lvuillaume\Desktop\mdc\target\classes started by lvuillaume in C:\Users\lvuillaume\Desktop\mdc)
2016-12-07 16:43:14.890 DEBUG 6396 --- [  restartedMain] com.mycompany.myapp.MdcApp               : Running with Spring Boot v1.4.2.RELEASE, Spring v4.3.4.RELEASE
2016-12-07 16:43:14.891  INFO 6396 --- [  restartedMain] com.mycompany.myapp.MdcApp               : The following profiles are active: swagger,dev
2016-12-07 16:43:14.972 DEBUG 6396 --- [kground-preinit] org.jboss.logging                        : Logging Provider: org.jboss.logging.Slf4jLoggerProvider found via system property
2016-12-07 16:43:18.499 DEBUG 6396 --- [  restartedMain] c.m.myapp.config.AsyncConfiguration      : Creating Async Task Executor
2016-12-07 16:43:19.041 DEBUG 6396 --- [  restartedMain] c.m.myapp.config.MetricsConfiguration    : Registering JVM gauges
2016-12-07 16:43:19.059 DEBUG 6396 --- [  restartedMain] c.m.myapp.config.MetricsConfiguration    : Initializing Metrics JMX reporting
2016-12-07 16:43:19.960  WARN 6396 --- [  restartedMain] io.undertow.websockets.jsr               : UT026009: XNIO worker was not set on WebSocketDeploymentInfo, the default worker will be used
2016-12-07 16:43:19.961  WARN 6396 --- [  restartedMain] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2016-12-07 16:43:20.436  INFO 6396 --- [  restartedMain] c.mycompany.myapp.config.WebConfigurer   : Web application configuration, using profiles: [swagger, dev]
2016-12-07 16:43:20.437 DEBUG 6396 --- [  restartedMain] c.mycompany.myapp.config.WebConfigurer   : Initializing Metrics registries
2016-12-07 16:43:20.442 DEBUG 6396 --- [  restartedMain] c.mycompany.myapp.config.WebConfigurer   : Registering Metrics Filter
2016-12-07 16:43:20.442 DEBUG 6396 --- [  restartedMain] c.mycompany.myapp.config.WebConfigurer   : Registering Metrics Servlet
2016-12-07 16:43:20.445  INFO 6396 --- [  restartedMain] c.mycompany.myapp.config.WebConfigurer   : Web application fully configured
2016-12-07 16:43:20.491  INFO 6396 --- [  restartedMain] com.mycompany.myapp.MdcApp               : Running with Spring profile(s) : [swagger, dev]
2016-12-07 16:43:20.579 DEBUG 6396 --- [  restartedMain] c.m.myapp.config.CacheConfiguration      : No cache
2016-12-07 16:43:24.805 DEBUG 6396 --- [  restartedMain] c.m.m.c.apidoc.SwaggerConfiguration      : Starting Swagger
2016-12-07 16:43:24.816 DEBUG 6396 --- [  restartedMain] c.m.m.c.apidoc.SwaggerConfiguration      : Started Swagger in 10 ms
2016-12-07 16:43:24.849 DEBUG 6396 --- [  restartedMain] c.m.myapp.config.DatabaseConfiguration   : Configuring Mongobee
2016-12-07 16:43:24.854  INFO 6396 --- [  restartedMain] com.github.mongobee.Mongobee             : Mongobee has started the data migration sequence..
2016-12-07 16:43:54.876  WARN 6396 --- [  restartedMain] 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 [com/mycompany/myapp/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: connect}}]
2016-12-07 16:43:54.883  INFO 6396 --- [  restartedMain] c.m.myapp.config.CacheConfiguration      : Closing Cache Manager
2016-12-07 16:43:54.905 ERROR 6396 --- [  restartedMain] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongobee' defined in class path resource [com/mycompany/myapp/config/DatabaseConfiguration.class]: Invocation of init method failed; nested exception is com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: connect}}]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
    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:754)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at com.mycompany.myapp.MdcApp.main(MdcApp.java:64)
    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.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: connect}}]
    at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:369)
    at com.mongodb.connection.BaseCluster.selectServer(BaseCluster.java:101)
    at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:75)
    at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:71)
    at com.mongodb.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:63)
    at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:210)
    at com.mongodb.operation.FindOperation.execute(FindOperation.java:482)
    at com.mongodb.operation.FindOperation.execute(FindOperation.java:79)
    at com.mongodb.Mongo.execute(Mongo.java:772)
    at com.mongodb.Mongo$2.execute(Mongo.java:759)
    at com.mongodb.DBCollection.findOne(DBCollection.java:777)
    at com.mongodb.DBCollection.findOne(DBCollection.java:747)
    at com.mongodb.DBCollection.findOne(DBCollection.java:694)
    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:135)
    at com.github.mongobee.Mongobee.afterPropertiesSet(Mongobee.java:117)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579)
    ... 19 common frames omitted

I tried to create a similar project but without a Mongodb and it worked.

Upvotes: 2

Views: 3748

Answers (3)

user11234760
user11234760

Reputation: 1

This was able to solve my problem:

"Answered my own question...removing the @Bean definition from public Mongobee mongobee(...) in DatabaseConfiguration.java seems to do the trick. Haven't done any thorough testing, but the apps starts and I can create new users."

Link: https://github.com/jhipster/generator-jhipster/issues/8665

Upvotes: 0

Developer Thing
Developer Thing

Reputation: 2774

After creating a new JHipster project with MongoDb I had the same error.

Before running mvnw (on Windows) I forgot to run the MongoDb itself.

So running mongod.exe in the new command prompt, and then running mvnw solved the issue for me.

Upvotes: 0

Tom Nijs
Tom Nijs

Reputation: 3962

This error means that there was an error connecting to your database, it confirms this in your stacktrace:

Timed out after 30000 ms while waiting for a server

Please double check your database configuration in the application-dev.properties or application-dev.yml file under src/main/resources/config/.

Depending on whether you use YAML or JSON as the property definition file, double check the database configuration:

YAML:

spring:
    data:
        mongodb:
            host: <your_host_address>
            port: <your_port>
            database: <database_name>

JSON:

spring.data.mongodb.host=<your_host_address>
spring.data.mongodb.port=<your_port>
spring.data.mongodb.database=<database_name>

Upvotes: 3

Related Questions