SpringBoot+ElasticSearch7.x+JPA配置多数据源

SpringBoot+ElasticSearch7.x+JPA配置多数据源

这里分为测试环境配置和正式环境配置,大体相差无几

ESTestConfig
 1 @Configuration
 2 @ConfigurationProperties(prefix = "es-config")
 3 @EnableElasticsearchRepositories(basePackages = {"com.tingyu.cdssdatatest.modules.test.*.esrepository"},elasticsearchTemplateRef = "testTemplate")
 4 public class ESTestConfig extends AbstractElasticsearchConfiguration {
 5 
 6     @Value("${es-config.hostAndPortTest}")
 7     private String hostAndPortTest;
 8 
 9     /**
10      * @description: 测试环境ES
11      */
12     @Bean("elasticsearchClientTest")
13     @Override
14     public RestHighLevelClient elasticsearchClient() {
15         ClientConfiguration configuration = ClientConfiguration.builder()
16                 .connectedTo(hostAndPortTest).build();
17         return RestClients.create(configuration).rest();
18     }
19 
20     @Override
21     @Bean(name = { "testOperations", "testTemplate" })
22     public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter,
23                                                            @Qualifier("elasticsearchClientTest") RestHighLevelClient elasticsearchClient) {
24         return new ElasticsearchRestTemplate(elasticsearchClient, elasticsearchConverter);
25     }
26 }
ESOfficialConfig,这里使用了@Primary注解
 1 @Configuration
 2 @ConfigurationProperties(prefix = "es-config")
 3 @EnableElasticsearchRepositories(basePackages = {"com.tingyu.cdssdatatest.modules.official.*.esrepository"},elasticsearchTemplateRef="officialTemplate")
 4 public class ESOfficialConfig extends AbstractElasticsearchConfiguration {
 5     @Value("${es-config.hostAndPortOfficial}")
 6     private String hostAndPortOfficial;
 7 
 8     /**
 9      * @description: 正式环境ES
10      */
11     @Bean("elasticsearchClientOfficial")
12     @Primary
13     @Override
14     public RestHighLevelClient elasticsearchClient() {
15         ClientConfiguration configuration = ClientConfiguration.builder()
16                 .connectedTo(hostAndPortOfficial).build();
17         return RestClients.create(configuration).rest();
18     }
19 
20     @Override
21     @Bean(name = { "officialOperations", "officialTemplate" })
22     public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter,
23                                                            @Qualifier("elasticsearchClientOfficial") RestHighLevelClient elasticsearchClient) {
24         return new ElasticsearchRestTemplate(elasticsearchClient, elasticsearchConverter);
25     }
26 }
application.yml

在这里插入图片描述

esrepository
1 public interface RawMessageRepository extends ElasticsearchRepository<RawMessageDto, String> {
2 
3 }
Dto,使用@Document注解进行实体映射,相当于Mysql的@Table注解

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

克克克克莱莱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值