예제 #1
0
  private HeartbeatData prepareHeartbeatData() {
    HeartbeatData heartbeatData = new HeartbeatData();

    // clientID
    heartbeatData.setClientID(this.clientId);

    // Consumer
    for (String group : this.consumerTable.keySet()) {
      MQConsumerInner impl = this.consumerTable.get(group);
      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());

        heartbeatData.getConsumerDataSet().add(consumerData);
      }
    }

    // Producer
    for (String group : this.producerTable.keySet()) {
      MQProducerInner impl = this.producerTable.get(group);
      if (impl != null) {
        ProducerData producerData = new ProducerData();
        producerData.setGroupName(group);

        heartbeatData.getProducerDataSet().add(producerData);
      }
    }

    return heartbeatData;
  }