账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    activemq的topic队列,在消费者1宕机时,发送给消费者1的消息会被阻塞并持久化起来吗?
    65
    0

    我设置的producer和consumer的应答模式是CLIENT_ACKNOWLEDGE,也设置了持久化消息和持久化topic,如果消费者端未消费该消息,则消费者端不会调用acknowledge()方法,经测试发现如果消费者宕机则消息会丢失,不会重新读取进来?这是什么情况?messageListener的onMessage方法如下:

      @Override
        public void onMessage(Message message) {
            try {
                TextMessage text = (TextMessage) message;
                String msg = text.getText();
                String jmsType = message.getJMSType();
                //获取已连接的在线机构
                for (String organId : WebSocketHandler.webSocketSessionMap.keySet()) {
                    boolean flag = jmsType.equalsIgnoreCase("ID:" + organId);
                    if (flag) {
                        boolean hasConsumed = consumeMsg(String.valueOf(organId), msg);
                        if (!hasConsumed) {
                            return;
                        }
                    }
                }
                message.acknowledge();
            } catch (JMSException e) {
                log.error("activemq convert message fail");
                log.error(e.getMessage(), e);
            }
        }

    多谢大佬!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ζ丿念旧 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部