private MessageQueue getOpQueue(MessageQueue messageQueue) { MessageQueue opQueue = opQueueMap.get(messageQueue); if (opQueue == null) { opQueue = new MessageQueue(TransactionalMessageUtil.buildOpTopic(), messageQueue.getBrokerName(), messageQueue.getQueueId()); opQueueMap.put(messageQueue, opQueue); } return opQueue; }
public static Set<MessageQueue> topicRouteData2TopicSubscribeInfo(final String topic, final TopicRouteData route) { Set<MessageQueue> mqList = new HashSet<MessageQueue>(); List<QueueData> qds = route.getQueueDatas(); for (QueueData qd : qds) { if (PermName.isReadable(qd.getPerm())) { for (int i = 0; i < qd.getReadQueueNums(); i++) { MessageQueue mq = new MessageQueue(topic, qd.getBrokerName(), i); mqList.add(mq); } } } return mqList; }
public boolean putOpMessage(MessageExt messageExt, String opType) { MessageQueue messageQueue = new MessageQueue(messageExt.getTopic(), this.brokerController.getBrokerConfig().getBrokerName(), messageExt.getQueueId()); if (TransactionalMessageUtil.REMOVETAG.equals(opType)) { return addRemoveTagInTransactionOp(messageExt, messageQueue); } return true; }
private void writeOp(Message message, MessageQueue mq) { MessageQueue opQueue; if (opQueueMap.containsKey(mq)) { opQueue = opQueueMap.get(mq); } else { opQueue = getOpQueueByHalf(mq); MessageQueue oldQueue = opQueueMap.putIfAbsent(mq, opQueue); if (oldQueue != null) { opQueue = oldQueue; } } if (opQueue == null) { opQueue = new MessageQueue(TransactionalMessageUtil.buildOpTopic(), mq.getBrokerName(), mq.getQueueId()); } putMessage(makeOpMessageInner(message, opQueue)); }
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(); } } }
consumer.start(); MessageQueue mq = new MessageQueue(topic, brokerName, queueId); long minOffset = consumer.minOffset(mq); long maxOffset = consumer.maxOffset(mq);
public static void main(String[] args) throws MQClientException { DefaultMQPullConsumer consumer = new DefaultMQPullConsumer("please_rename_unique_group_name_5"); consumer.setNamesrvAddr("127.0.0.1:9876"); consumer.start(); try { MessageQueue mq = new MessageQueue(); mq.setQueueId(0); mq.setTopic("TopicTest3"); mq.setBrokerName("vivedeMacBook-Pro.local"); long offset = 26; long beginTime = System.currentTimeMillis(); PullResult pullResult = consumer.pullBlockIfNotFound(mq, null, offset, 32); System.out.printf("%s%n", System.currentTimeMillis() - beginTime); System.out.printf("%s%n", pullResult); } catch (Exception e) { e.printStackTrace(); } consumer.shutdown(); } }
String offset = commandLine.getOptionValue('o').trim(); MessageQueue mq = new MessageQueue(); mq.setTopic(topic); mq.setBrokerName(brokerName);
public Set<MessageQueue> fetchMessageQueues(String topic) { Set<MessageQueue> mqSet = new HashSet<>(); TopicConfig topicConfig = selectTopicConfig(topic); if (topicConfig != null && topicConfig.getReadQueueNums() > 0) { for (int i = 0; i < topicConfig.getReadQueueNums(); i++) { MessageQueue mq = new MessageQueue(); mq.setTopic(topic); mq.setBrokerName(brokerController.getBrokerConfig().getBrokerName()); mq.setQueueId(i); mqSet.add(mq); } } return mqSet; }
private MessageQueue getOpQueueByHalf(MessageQueue halfMQ) { MessageQueue opQueue = new MessageQueue(); opQueue.setTopic(TransactionalMessageUtil.buildOpTopic()); opQueue.setBrokerName(halfMQ.getBrokerName()); opQueue.setQueueId(halfMQ.getQueueId()); return opQueue; }
int nums = Integer.parseInt(item[1]); for (int i = 0; i < nums; i++) { MessageQueue mq = new MessageQueue(topic, item[0], i); info.getMessageQueueList().add(mq); MessageQueue mq = new MessageQueue(topic, qd.getBrokerName(), i); info.getMessageQueueList().add(mq);
this.mqClientInstance.getMQClientAPIImpl().getTopicStatsInfo(addr, topic, timeoutMillis).getOffsetTable(); for (int i = 0; i < topicRouteMap.get(addr); i++) { MessageQueue queue = new MessageQueue(topic, bd.getBrokerName(), i); OffsetWrapper offsetWrapper = new OffsetWrapper(); offsetWrapper.setBrokerOffset(topicStatus.get(queue).getMaxOffset());
MessageQueue mq = new MessageQueue(); mq.setBrokerName(brokerName); mq.setTopic(msg.getTopic());
MessageQueue mq = new MessageQueue(); mq.setBrokerName(brokerName); mq.setTopic(msg.getTopic());
@Test public void testQueueIdBigThanQueueNum() throws Exception { int queueId = 100; sendFail = false; MessageQueue mq = new MessageQueue(topic, broker1Name, queueId); Message msg = new Message(topic, RandomUtils.getStringByUUID().getBytes()); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); producer.send(msg, mq, new SendCallback() { @Override public void onSuccess(SendResult sendResult) { } @Override public void onException(Throwable throwable) { sendFail = true; } }); int checkNum = 50; while (!sendFail && checkNum > 0) { checkNum--; TestUtils.waitForMoment(100); } producer.shutdown(); assertThat(sendFail).isEqualTo(true); }
@Test public void testQueueIdSmallZero() throws Exception { int queueId = -100; sendFail = true; MessageQueue mq = new MessageQueue(topic, broker1Name, queueId); Message msg = new Message(topic, RandomUtils.getStringByUUID().getBytes()); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); producer.send(msg, mq, new SendCallback() { @Override public void onSuccess(SendResult sendResult) { sendFail = false; } @Override public void onException(Throwable throwable) { sendFail = true; } }); int checkNum = 50; while (sendFail && checkNum > 0) { checkNum--; TestUtils.waitForMoment(100); } producer.shutdown(); assertThat(sendFail).isEqualTo(false); }
@Test public void testAsyncSendWithMQ() { int msgSize = 20; int queueId = 0; RMQNormalConsumer consumer = getConsumer(nsAddr, topic, "*", new RMQNormalListener()); MessageQueue mq = new MessageQueue(topic, broker1Name, queueId); producer.sendOneWay(msgSize, mq); producer.waitForResponse(5 * 1000); consumer.getListener().waitForMessageConsume(producer.getAllMsgBody(), consumeTime); assertThat(VerifyUtils.getFilterdMessage(producer.getAllMsgBody(), consumer.getListener().getAllMsgBody())) .containsExactlyElementsIn(producer.getAllMsgBody()); producer.clearMsg(); consumer.clearMsg(); mq = new MessageQueue(topic, broker2Name, queueId); producer.asyncSend(msgSize, mq); producer.waitForResponse(5 * 1000); consumer.getListener().waitForMessageConsume(producer.getAllMsgBody(), consumeTime); assertThat(VerifyUtils.getFilterdMessage(producer.getAllMsgBody(), consumer.getListener().getAllMsgBody())) .containsExactlyElementsIn(producer.getAllMsgBody()); } }
int queueId = 0; RMQNormalConsumer consumer = getConsumer(nsAddr, topic, "*", new RMQNormalListener()); MessageQueue mq = new MessageQueue(topic, broker1Name, queueId); consumer.clearMsg(); producer.getSuccessSendResult().clear(); mq = new MessageQueue(topic, broker2Name, queueId); producer.asyncSend(msgSize, mq); producer.waitForResponse(10 * 1000);
for (int i = 0; i < topicConfig.getWriteQueueNums(); i++) { QueueTimeSpan timeSpan = new QueueTimeSpan(); MessageQueue mq = new MessageQueue(); mq.setTopic(topic); mq.setBrokerName(this.brokerController.getBrokerConfig().getBrokerName());
MessageQueue mq = new MessageQueue(); mq.setTopic(topic); mq.setBrokerName(this.brokerController.getBrokerConfig().getBrokerName());