做動態(tài)h5的網(wǎng)站b站視頻推廣網(wǎng)站2023
- 消費者組:消費者所在的消費者組名稱。這個信息用于確保同一個消費者組內的消費者不會重復地消費相同的消息。
- MessageModel:消息模型,可能的值為集群消費或廣播消費。
- ConsumeType:消費類型,可能的值有"主動消費"和"被動消費"。
- consumeFromWhere:消費起始點位
- 消費主題和訂閱數(shù)據(jù):消費者正在訂閱的主題列表以及對應的訂閱數(shù)據(jù),例如每個主題的tag表達式。
- unitmode:用于確保具有相同業(yè)務標識的消息被同一個消費者實例消費
- 消費者運行時信息:包括客戶端版本、啟動時間等。
一下是生成消息體的代碼:
private HeartbeatData prepareHeartbeatData() {HeartbeatData heartbeatData = new HeartbeatData();// clientIDheartbeatData.setClientID(this.clientId);// Consumerfor (Map.Entry<String, MQConsumerInner> entry : this.consumerTable.entrySet()) {MQConsumerInner impl = entry.getValue();if (impl != null) {ConsumerData consumerData = new ConsumerData();consumerData.setGroupName(impl.groupName());consumerData.setConsumeType(impl.consumeType());consumerData.setMessageModel(impl.messageModel());consumerData.setConsumeFromWhere(impl.consumeFromWhere());consumerData.getSubscriptionDataSet().addAll(impl.subscriptions());consumerData.setUnitMode(impl.isUnitMode());heartbeatData.getConsumerDataSet().add(consumerData);}}// Producerfor (Map.Entry<String/* group */, MQProducerInner> entry : this.producerTable.entrySet()) {MQProducerInner impl = entry.getValue();if (impl != null) {ProducerData producerData = new ProducerData();producerData.setGroupName(entry.getKey());heartbeatData.getProducerDataSet().add(producerData);}}return heartbeatData;}