एकाधिक mongodb डेटा स्रोत सेट करने के लिए कृपया नीचे दिए गए चरणों का पालन करें।
-
नीचे दिए गए application.properties की तरह अपने प्राथमिक और द्वितीयक mongodb गुणों को परिभाषित करें, कृपया उनके साथ अपना db विवरण बदलें:
######Primary Mongo DB######################## spring.data.mongodb.host=localhost spring.data.mongodb.database=primary spring.data.mongodb.port=27017 spring.data.mongodb.password=******* spring.data.mongodb.username=******* ###########Secondary MongoDB##################### mongodb.host=localhost mongodb.port=27017 mongodb.database=secondary mongodb.username=****** mongodb.password=******
-
अब एकाधिक Mongo Db कॉन्फ़िगरेशन जोड़ें..
@Configuration public class MultipleMongoConfig { @Primary @Bean(name = "primary") @ConfigurationProperties(prefix = "spring.data.mongodb") public MongoProperties getPrimary() { return new MongoProperties(); } @Bean(name = "secondary") @ConfigurationProperties(prefix = "mongodb") public MongoProperties getSecondary() { return new MongoProperties(); } @Primary @Bean(name = "primaryMongoTemplate") public MongoTemplate primaryMongoTemplate() throws Exception { return new MongoTemplate(primaryFactory(getPrimary())); } @Bean(name = "secondaryMongoTemplate") public MongoTemplate secondaryMongoTemplate() throws Exception { return new MongoTemplate(secondaryFactory(getSecondary())); } @Bean @Primary public MongoDbFactory primaryFactory(final MongoProperties mongo) throws Exception { return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()), mongo.getDatabase()); } @Bean public MongoDbFactory secondaryFactory(final MongoProperties mongo) throws Exception { return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()), mongo.getDatabase()); }
}
-
अब
EnableMongoRepositories
enable को सक्षम करें अपने प्राथमिक माध्यमिक के लिए। कृपया सुनिश्चित करें कि आपbasePackages = "com.example.springbootmultipledatasource.primary.repository"
बदलते हैं आपका रिपोजिटरी पैकेज यहां@Configuration @EnableMongoRepositories(basePackages = "com.example.springbootmultipledatasource.primary.repository", mongoTemplateRef = "primaryMongoTemplate") public class PrimaryMongoConfig { }
सेकेंडरी मोंगो टेम्प्लेट:कृपया सुनिश्चित करें कि आपने अपना सेकेंडरी रिपॉजिटरी पैकेज यहां basePackages = "com.example.springbootmultipledatasource.secondary.repository
बदल दिया है।
@Configuration
@EnableMongoRepositories(basePackages = "com.example.springbootmultipledatasource.secondary.repository",
mongoTemplateRef = "secondaryMongoTemplate")
public class SecondaryMongoConfig {
}
अब आप अपना दस्तावेज़, भंडार, सेवा, नियंत्रक बना सकते हैं और आप जाने के लिए अच्छे हैं। नीचे मेरी परियोजना संरचना है जिसे आप बना सकते हैं या अलग कर सकते हैं।