在mongodb中更新集合时如何正确使用messagelistener?

ecbunoof  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(470)

我试图了解在更新mongodb时使用messagelisteners的最有效方法是什么。我有以下代码示例:

@Bean
public MessageListenerContainer messageListenerContainer(MongoTemplate template) {
    MessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer(template);
    messageListenerContainer.start();
    ChangeStreamRequest<TokenRequestorInfoEntity> request = ChangeStreamRequest.builder()
        .collection("Streamline_Trid")
        .publishTo(getTridListener())
        .build();
    try {
        Subscription subscription = messageListenerContainer.register(request, TokenRequestorInfoEntity.class);
    }
    catch(MongoTimeoutException | MongoExecutionTimeoutException | MongoSocketClosedException | MongoSocketReadTimeoutException | MongoSocketOpenException | UncategorizedMongoDbException e ) {
        logger.error("MongoDB Connection failure while registering listener:"+e.getMessage());
    }
    catch(Exception ex) {
        logger.error("MongoDB Connection failure:"+ex.getMessage());
    }

    return messageListenerContainer;
}

在多收集场景中,是否应该创建多个消息侦听器,在其中更新多个缓存?或者通常每个应用程序只创建一个消息侦听器。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题