private void executeByCondition(String brokerName, String queueId, long offset, long timeValueBegin, long timeValueEnd) { MessageQueue mq = new MessageQueue(topic, brokerName, Integer.parseInt(queueId)); try { long minOffset = defaultMQPullConsumer.minOffset(mq); long maxOffset = defaultMQPullConsumer.maxOffset(mq); if (timeValueBegin > 0) { minOffset = defaultMQPullConsumer.searchOffset(mq, timeValueBegin); } if (timeValueEnd > 0) { maxOffset = defaultMQPullConsumer.searchOffset(mq, timeValueEnd); } if (offset > maxOffset) { System.out.printf("%s no matched msg, offset=%s\n", mq, offset); return; } minOffset = minOffset > offset ? minOffset : offset; if (maxOffset - minOffset > messageCount) { System.out.printf("The oldler %d message will be provided\n", messageCount); maxOffset = minOffset + messageCount - 1; } pullMessageByQueue(mq, minOffset, maxOffset); } catch (Exception e) { e.printStackTrace(); } } }
long maxOffset = consumer.maxOffset(mq);
for (MessageQueue mq : mqs) { long minOffset = consumer.minOffset(mq); long maxOffset = consumer.maxOffset(mq);
private void executeDefault(long timeValueBegin, long timeValueEnd) { try { Set<MessageQueue> mqs = defaultMQPullConsumer.fetchSubscribeMessageQueues(topic); long countLeft = messageCount; for (MessageQueue mq : mqs) { if (countLeft == 0) { return; } long minOffset = defaultMQPullConsumer.minOffset(mq); long maxOffset = defaultMQPullConsumer.maxOffset(mq); if (timeValueBegin > 0) { minOffset = defaultMQPullConsumer.searchOffset(mq, timeValueBegin); } if (timeValueEnd > 0) { maxOffset = defaultMQPullConsumer.searchOffset(mq, timeValueEnd); } if (maxOffset - minOffset > countLeft) { System.out.printf("The older %d message of the %d queue will be provided\n", countLeft, mq.getQueueId()); maxOffset = minOffset + countLeft - 1; countLeft = 0; } else { countLeft = countLeft - (maxOffset - minOffset) - 1; } pullMessageByQueue(mq, minOffset, maxOffset); } } catch (Exception e) { e.printStackTrace(); } }
long maxOffset = this.defaultMQPullConsumer.maxOffset(mq); if (maxOffset > 0) { PullResult pull = this.defaultMQPullConsumer.pull(mq, "*", maxOffset - 1, 1);
private void initPositionFromMqTail() throws Exception { DefaultMQPullConsumer consumer = new DefaultMQPullConsumer("BINLOG_CONSUMER_GROUP"); consumer.setNamesrvAddr(config.mqNamesrvAddr); consumer.setMessageModel(MessageModel.valueOf("BROADCASTING")); consumer.start(); Set<MessageQueue> queues = consumer.fetchSubscribeMessageQueues(config.mqTopic); MessageQueue queue = queues.iterator().next(); if (queue != null) { Long offset = consumer.maxOffset(queue); if (offset > 0) offset--; PullResult pullResult = consumer.pull(queue, "*", offset, 100); if (pullResult.getPullStatus() == PullStatus.FOUND) { MessageExt msg = pullResult.getMsgFoundList().get(0); String json = new String(msg.getBody(), "UTF-8"); JSONObject js = JSON.parseObject(json); binlogFilename = (String) js.get("binlogFilename"); nextPosition = js.getLong("nextPosition"); } } }
long maxOffset = consumer.maxOffset(mq);
for (MessageQueue mq : mqs) { long minOffset = consumer.minOffset(mq); long maxOffset = consumer.maxOffset(mq);
long maxOffset = this.defaultMQPullConsumer.maxOffset(mq); if (maxOffset > 0) { PullResult pull = this.defaultMQPullConsumer.pull(mq, "*", maxOffset - 1, 1);
private void executeByCondition(String brokerName, String queueId, long offset, long timeValueBegin, long timeValueEnd) { MessageQueue mq = new MessageQueue(topic, brokerName, Integer.parseInt(queueId)); try { long minOffset = defaultMQPullConsumer.minOffset(mq); long maxOffset = defaultMQPullConsumer.maxOffset(mq); if (timeValueBegin > 0) { minOffset = defaultMQPullConsumer.searchOffset(mq, timeValueBegin); } if (timeValueEnd > 0) { maxOffset = defaultMQPullConsumer.searchOffset(mq, timeValueEnd); } if (offset > maxOffset) { System.out.printf("%s no matched msg, offset=%s\n", mq, offset); return; } minOffset = minOffset > offset ? minOffset : offset; if (maxOffset - minOffset > messageCount) { System.out.printf("The oldler %d message will be provided\n", messageCount); maxOffset = minOffset + messageCount - 1; } pullMessageByQueue(mq, minOffset, maxOffset); } catch (Exception e) { e.printStackTrace(); } } }
long maxOffset = consumer.maxOffset(mq);
for (MessageQueue mq : mqs) { long minOffset = consumer.minOffset(mq); long maxOffset = consumer.maxOffset(mq);
private void executeDefault(long timeValueBegin, long timeValueEnd) { try { Set<MessageQueue> mqs = defaultMQPullConsumer.fetchSubscribeMessageQueues(topic); long countLeft = messageCount; for (MessageQueue mq : mqs) { if (countLeft == 0) { return; } long minOffset = defaultMQPullConsumer.minOffset(mq); long maxOffset = defaultMQPullConsumer.maxOffset(mq); if (timeValueBegin > 0) { minOffset = defaultMQPullConsumer.searchOffset(mq, timeValueBegin); } if (timeValueEnd > 0) { maxOffset = defaultMQPullConsumer.searchOffset(mq, timeValueEnd); } if (maxOffset - minOffset > countLeft) { System.out.printf("The older %d message of the %d queue will be provided\n", countLeft, mq.getQueueId()); maxOffset = minOffset + countLeft - 1; countLeft = 0; } else { countLeft = countLeft - (maxOffset - minOffset) - 1; } pullMessageByQueue(mq, minOffset, maxOffset); } } catch (Exception e) { e.printStackTrace(); } }
long maxOffset = this.defaultMQPullConsumer.maxOffset(mq); if (maxOffset > 0) { PullResult pull = this.defaultMQPullConsumer.pull(mq, "*", maxOffset - 1, 1);