mongodb数据同步配置监听

前言:前面说到了mysql的同步了,现在说mongo的数据同步。

说到mongo的数据同步,这就说到 changeStream

chaChange Streams 是在 MongoDB 3.6 中引入的。此外,Change Streams 需要副本集(Replica Set)配置。因此,在使用 Change Streams 之前,确保 MongoDB 实例已配置为副本集。关于副本集的配置,网上很多,大家搜搜就可以查询到。我们主要说明使用方法:

添加对应的pom

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
@Component
@Slf4j
public class ChangeStreamListener {

    @Autowired
    private ReactiveMongoTemplate reactiveMongoTemplate;
    @Autowired
    private MongoTemplate mongoTemplate;
   
    @Bean
    public void listenChanges() {
  
                Flux<ChangeStreamEvent<UserClassHours>> changeStream = reactiveMongoTemplate
                            .changeStream(UserClassHours.class)
                            .watchCollection("collectionName").listen();   
                changeStream.subscribe(change -> {

                     log.info("监听到数据变动消息:{}", change); // 处理每个更改事件        
       
                }, error -> {
                    log.info("错误信息: {}", error); // 错误处理
                }, () -> {
                    log.info("完成处理"); // 完成处理
                });
            
        }
  
}
//collectionName mongo库中的你需要监听的集合表

监听对应的某个mongo表.采用的是响应式编程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值