在我的应用程序中,我需要使用两个MongoDB数据库。我不知道如何在应用程序中添加2个MongoDB数据库。spring应用程序中的属性文件。
这是申请表。我的项目的属性文件,
spring.data.mongodb.database=DB1
spring.data.mongodb.authentication-database=DB1
spring.data.mongodb.host=dev-ng-mongo1.domain.com
spring.data.mongodb.password=9876512
spring.data.mongodb.port=27017
spring.data.mongodb.username=pavan
但是我想为同一个项目使用另一个MongoDB数据库。如何在应用程序中添加新数据库。属性文件。
请按照以下步骤设置多个mongodb数据源。
>
定义您的主要和次要mongob属性,如下面application.properties,请用它们替换您的数据库详细信息:
######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());
}
}
现在为您的主secondary.please启用EnableMongoRepository
,确保您在此处更改basPackages="com.example.springbootmultipledatasource.primary.repository"
您的存储库包
@Configuration
@EnableMongoRepositories(basePackages =
"com.example.springbootmultipledatasource.primary.repository",
mongoTemplateRef = "primaryMongoTemplate")
public class PrimaryMongoConfig {
}
次要Mongo模板:请确保在此处更改次要存储库包basePackages=“com.example.springbootmultipledatasource.Secondary.repository
@Configuration
@EnableMongoRepositories(basePackages = "com.example.springbootmultipledatasource.secondary.repository",
mongoTemplateRef = "secondaryMongoTemplate")
public class SecondaryMongoConfig {
}
现在,您可以创建您的文档、存储库、服务和控制器,您就可以开始了。下面是我的项目结构,你可以创建或有不同的。
https://imgs.xnip.cn/cj/n/23/0fdf88ae-8f2a-4c60-b7d9-ce99700a165f.png" width="100%" height="100%" />
null (该事件创建一个新的Webshop,并将其余额设置为100)。该事件将持久化到我的数据库中。当我查询当前webshop余额时,我可以返回当前余额为100。(事件和查询的代码如下所示) 但是,如果我重新启动应用程序,并试图再次查询当前余额,以前的事件不会被重播,因此我无法获得当前余额(重新启动后,事件仍然存在于数据库中,因此我认为这只是框架没有检索所有以前的事件的问题)。 我目前使用缺省配
我在开发环境中使用嵌入式MongoDB数据库。它在应用程序启动时设置为空。我想在设置Spring上下文时加载应用程序所需的初始数据。 Spring Data MongoDB中是否有方法指向将加载到数据库中的JSON文件(类似于hibernate中的import.sql(hibernate.hbm2ddl.import_文件)或NoSql单元中的@UsingDataSet)?
问题内容: 2 是否可以从2个不同的mongdb数据库服务器中检索数据? 问题答案: 更新资料 现在可以连接到远程/多个数据库: mongodb url 在哪里,例如(带有数据库名称) 目前,这样做有一个缺点:没有Oplog 旧答案 目前这是不可能的。每个流星应用程序都绑定到一个数据库。 有几种方法可以解决此问题,但其价值可能更复杂: 一种选择-使用单独的Meteor应用 在另一个流星应用程序中(
我正在用spring boot开发一个应用程序。我使用Mysql数据库来实现持久性。我的数据库在远程服务器上。如何为远程数据库连接配置数据源? 请帮助我在属性文件和数据源bean配置中使用我的配置类中的注释来配置它。
我想创建一个应用程序,我想有多个数据库,这意味着不止两个,至少三个。这可能吗?如果是,请在此处解释。
我有这些档案,uat nyc,uat ldn。uat nyc数据源是oracle,uat ldn是mysql服务器。此配置在uat nyc应用程序中设置。yml和应用uat ldn。yml公司 我有以下配置类 如果我的应用程序是用spring运行的。配置文件。活动:uat nyc,uat ldn是否会创建两个数据源? 一个配置来自uat nyc,另一个配置来自uat ldn 我在下面有一个函数,在