Guest User

Untitled

a guest
Dec 11th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.mongodb.core.MongoTemplate]: Factory method 'getMongoTemplate' threw exception; nested exception is java.lang.IllegalArgumentException: Database name must not be empty!
  2. at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  3. at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:620) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  4. ... 55 common frames omitted
  5. Caused by: java.lang.IllegalArgumentException: Database name must not be empty!
  6. at org.springframework.util.Assert.hasText(Assert.java:284) ~[spring-core-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  7. at org.springframework.data.mongodb.core.MongoDbFactorySupport.<init>(MongoDbFactorySupport.java:71) ~[spring-data-mongodb-2.1.2.RELEASE.jar:2.1.2.RELEASE]
  8. at org.springframework.data.mongodb.core.SimpleMongoDbFactory.<init>(SimpleMongoDbFactory.java:69) ~[spring-data-mongodb-2.1.2.RELEASE.jar:2.1.2.RELEASE]
  9. at org.springframework.data.mongodb.core.SimpleMongoDbFactory.<init>(SimpleMongoDbFactory.java:59) ~[spring-data-mongodb-2.1.2.RELEASE.jar:2.1.2.RELEASE]
  10. at org.tutoring.web.mongo.config.AbstractMongoConfig.mongoDbFactory(AbstractMongoConfig.java:23) ~[classes/:na]
  11. at org.tutoring.web.mongo.config.PrimaryMongoConnection.getMongoTemplate(PrimaryMongoConnection.java:28) ~[classes/:na]
  12. at org.tutoring.web.mongo.config.PrimaryMongoConnection$$EnhancerBySpringCGLIB$$c9a41f43.CGLIB$getMongoTemplate$0(<generated>) ~[classes/:na]
  13. at org.tutoring.web.mongo.config.PrimaryMongoConnection$$EnhancerBySpringCGLIB$$c9a41f43$$FastClassBySpringCGLIB$$f5203966.invoke(<generated>) ~[classes/:na]
  14. at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  15. at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363) ~[spring-context-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  16. at org.tutoring.web.mongo.config.PrimaryMongoConnection$$EnhancerBySpringCGLIB$$c9a41f43.getMongoTemplate(<generated>) ~[classes/:na]
  17. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_191]
  18. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_191]
  19. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_191]
  20. at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_191]
  21. at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  22. ... 56 common frames omitted
  23.  
  24. @Data
  25. public abstract class AbstractMongoConfig {
  26.  
  27. //Mongo DB Properties
  28. private String host, database;
  29. private int port;
  30.  
  31. /*
  32. * Method that creates MongoDbFactory
  33. * Common to both of the MongoDb connections
  34. */
  35. public MongoDbFactory mongoDbFactory() {
  36. return new SimpleMongoDbFactory(getMongoClient(), database);
  37. }
  38. y dos clases, una para cada BD:
  39.  
  40. @Configuration
  41. @EnableMongoRepositories(basePackages = {"org.tutoring.web.primary.repository"}, mongoTemplateRef = "primaryMongoTemplate")
  42. @ConfigurationProperties(prefix = "primary.mongodb")
  43. public class PrimaryMongoConnection extends AbstractMongoConfig {
  44.  
  45.  
  46. @Primary
  47. @Override
  48. @Bean(name = "primaryMongoTemplate")
  49. public MongoTemplate getMongoTemplate() {
  50. return new MongoTemplate(mongoDbFactory());
  51. }
  52. }
  53.  
  54.  
  55. private MongoClient getMongoClient() {
  56. return new MongoClient(host, port);
  57. }
  58.  
  59.  
  60. abstract public MongoTemplate getMongoTemplate();
  61.  
  62. @Configuration
  63. @EnableMongoRepositories(
  64. basePackages = {"org.tutoring.web.secondary.repository"},
  65. mongoTemplateRef = "secondaryMongoTemplate")
  66. @ConfigurationProperties(prefix = "secondary.mongodb")
  67. public class SecondaryMongoConnection extends AbstractMongoConfig {
  68.  
  69. @Override
  70. public
  71. @Bean(name = "secondaryMongoTemplate")
  72. MongoTemplate getMongoTemplate() {
  73. return new MongoTemplate(mongoDbFactory());
  74. }
  75. }
  76.  
  77. primary.mongodb.host=127.0.0.1
  78. primary.mongodb.port=27017
  79. primary.mongodb.database=TutoringDb
  80. secondary.mongodb.host=127.0.0.1
  81. secondary.mongodb.port=27017
  82. secondary.mongodb.database=tokensDb
Add Comment
Please, Sign In to add comment