首页 > 其他分享 >rabbitmq消息丢失

rabbitmq消息丢失

时间:2023-02-18 09:33:05浏览次数:48  
标签:rabbitmq System cart 消息 flatMap rpcClient new out 丢失

发送消息后,队列中没有显示

最后发现只能在flatMap中创建和关闭RpcClient

public Mono<ServerResponse> addCart(ServerRequest request){
        AtomicReference<Cart> temp = new AtomicReference<>();
        return request.bodyToMono(Cart.class)
                .flatMap(cart -> doctorService.addCart(cart))
                .flatMap(cart -> {
                    System.out.println("cart : " + cart);
                    Supplier<String> correlationIdSupplier = () -> UUID.randomUUID().toString();
                    RpcClient rpcClient = this.sender
                            .rpcClient("", RPC_QUEUE, correlationIdSupplier);
                    Mono<Delivery> reply =
                            rpcClient.rpc(Mono.just(new RpcClient.RpcRequest(cart.toString().getBytes())))
                                    .doOnError(e -> System.out.println("send failed" + e));
                    rpcClient.close();
                    temp.set(cart);
                    reply.subscribe(m ->  System.out.println("返回的数据为: " + new String(m.getBody()) ));
                    return ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).bodyValue(temp);
                });
    }


来自为知笔记(Wiz)

标签:rabbitmq,System,cart,消息,flatMap,rpcClient,new,out,丢失
From: https://www.cnblogs.com/baiyifengyun/p/17131980.html

相关文章

  • docker rabbitmq数据持久化
    RabbitMQ消息队列怎样做到服务宕机或重启消息不丢失RabbitMQ确保持久性消息能从服务器重启中恢复的方式是,将它们写入磁盘上的一个持久化日志文件。当发布一个持久性消息到......
  • 通过Windows定时任务执行Python脚本给钉钉群发送消息
    前提:已经存在有成功发送钉钉群机器人消息的python脚本,参考上一篇Python调用钉钉群机器人发送群消息Windows定时任务设置1、本机是Win7系统:控制面板->系统和安全->管理工......
  • 小程序的聊天功能中如何让消息列表定位到未读消息
    需求中有这样的一条:要将聊天消息定位到首个未读消息。看到这样的需求笔者灵机一动:首先想到就是把聊天消息放到滚动容器中,然后根据已读的消息设置滚动条的滚动高度,如此一来......
  • win64环境下监听键盘操作并发送MQTT消息
    1.MQTT服务安装下载EMQX做MQTT代理服务器https://www.emqx.cn/downloads/broker/v4.2.7/emqx-centos7-4.2.7-x86_64.zip解压安装即可启动MQTT服务器在emqx/bin目录下......
  • 【网络】Wireshark分析RST消息
    文章目录    前言    1、定义:    2、有三个条件可以产生RST:    3、说明    4、RST数据报文产生情况        1......
  • 消息队列非阻塞
    消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX1003.1b在信号的实时性方面作了拓广,使......
  • Java: RocketMQ事务消息的优雅使用
    背景在项目中,技术方案需要使用事务消息来保证最终一致性达到实现业务的目的。但在一个服务中有多个业务需要使用事务消息发送不同的消息类型到不同的Topic时,RocketMQ的本......
  • SpringBoot 整合 RabbitMQ
    SpringBoot整合RabbitMQ生产者application.yml#配置RabbitMQ的基本信息spring:rabbitmq:#iphost:192.168.36.100#usernameuse......
  • 切换窗体或消息控制窗体的延时问题
    应用场景如:ShowWindow+SetForegroundWindow,用来切换窗体,有时切换失败对其他窗体SendMessageWM_KEYDOWN或其他消息控制动作,有时逻辑异常问题原因:其他窗......
  • 【服务器数据恢复】服务器迁移数据时数据丢失的数据恢复案例
    服务器数据恢复环境&故障:一台某品牌的存储设备,Windows操作系统。由于业务需求,需要把这台存储设备中的数据迁移到另外一台存储设备中,在迁移数据过程中突然无法读取数据,管理......