CometD Bayeux Java 客户端 - 订阅者未收到事件

问题描述

我面临 CometD 客户端应用程序的问题,该应用程序通过长轮询传输连接服务器。 当 bayeux 客户端和频道显示为 CONNECTED 并且订阅者停止接收事件时,存在未知情况。与此同时,我们看到事件正在扩展 (ReplayExtension)。

platformevent.pull.listener.SFDCPlatformEventListenerV2,EnhancedbayeuxClient@762f062b[281fubf9u3oc3xy1mhi0kpswuiid][SessionState@50e82092[CONNECTED]],dump:EnhancedbayeuxClient@762f062b[281fubf9u3oc3xy1mhi0kpswuiid][SessionState@50e82092[CONNECTED]]
    +> AttributesMap@496367f2
    |  +> null
    +> extensions size=1
    |  +> platformevent.pull.extension.ReplayExtension@6101e9c5
    +> channels size=8
       +> /event/ae_spark__TEL_Bulk_Change__e
       |  +> listeners size=0
       |  +> subscribers size=1
       |     +> subscriber.PEListenerKafkaPublisher@2bf94401
       +> /Meta/*
       |  +> listeners size=0
       |  +> subscribers size=0
       +> /Meta/**
       |  +> listeners size=0
       |  +> subscribers size=0
       +> /Meta/connect
       |  +> listeners size=1
       |  |  +> platformevent.pull.listener.PullAuthFailureListener@7fec5ba4
       |  +> subscribers size=0
       +> /Meta/disconnect
       |  +> listeners size=0
       |  +> subscribers size=0
       +> /Meta/handshake
       |  +> listeners size=0
       |  +> subscribers size=0
       +> /Meta/subscribe
       |  +> listeners size=1
       |  |  +> platformevent.pull.listener.EnhancedbayeuxClient$$Lambda$1240/918157032@306ad64
       |  +> subscribers size=0
       +> /Meta/unsubscribe
          +> listeners size=1
          |  +> platformevent.pull.listener.EnhancedbayeuxClient$$Lambda$1239/617777499@4a59da25
          +> subscribers size=0
    key: +- bean,+= managed,+~ unmanaged,+? auto,+: iterable,+] array,+@ map,+> undefined,Extensions:[platformevent.pull.extension.ReplayExtension@6101e9c5]
    HttpClient: HttpClient@5b519f20{STARTED}
    2021-03-27 21:17:08.734  INFO 67 --- [qtp561448546-42] c.a.s.p.p.p.l.EnhancedbayeuxClient       : Recived lstn:{clientId=281fubf9u3oc3xy1mhi0kpswuiid,channel=/Meta/subscribe,id=1077,subscription=/event/ae_spark__TEL_Bulk_Change__e,successful=true}

我在 PullAuthFailureListener 中有一个逻辑,它在消息失败时重新启动 bayeux 客户端。重启步骤是:

  • 取消订阅所有频道。
  • 断开 bayeux 客户端的连接。
  • 再次握手
  • 注册频道/订阅者 (/event/ae_spark__TEL_Bulk_Change__e)

任何可能阻止事件到达订阅者的建议或任何进一步解决此问题的建议?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)