依赖
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-common</artifactId>
<version>4.9.1</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.9.1</version>
</dependency>
发送消息
public void sendMessageUseSql() throws Exception {
DefaultMQProducer producer = new DefaultMQProducer("mygroup");
producer.setNamesrvAddr("127.0.0.1:9876");
producer.start();
for (int i = 0; i < 30; i++) {
Message message = new Message("mytopic", ("message\t" + i).getBytes());
message.putUserProperty("id", String.valueOf(i));
producer.send(message);
}
System.out.println("发送完成");
producer.shutdown();
}
接收消息
public void receiveMessageUseSql() throws Exception {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("mygroupp");
consumer.setNamesrvAddr("127.0.0.1:9876");
MessageSelector messageSelector = MessageSelector.bySql("id > 15 and id < 25");
consumer.subscribe("mytopic", messageSelector);
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(
List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
for (MessageExt messageExt : list) {
byte[] body = messageExt.getBody();
String s = new String(body);
System.out.println(s);
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
});
consumer.start();
}