从
https://github.com/rocketMq
下载demo下来,后用idea打开来跑
更改对应的ip即可跑起来了
生产
package sample.rocketmq;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;
import org.rocketmq.starter.core.producer.RocketMQProducerTemplate;
/**
* This class demonstrates how to send messages to brokers using provided {@link DefaultMQProducer}.
*/
public class Producer {
public static void main(String[] args) throws MQClientException, InterruptedException {
/*
* Instantiate with a producer group name.
*/
RocketMQProducerTemplate producer = new RocketMQProducerTemplate();
producer.setProducerGroup("mq-service-producer");
//producer.setTimeOut(1000);
producer.setOrderlyMessage(true);
producer.setMessageClass(String.class);
producer.setNamesrvAddr("192.168.100.121:9876");
/*
* Specify name server addresses.
* <p/>
*
* Alternatively, you may specify name server addresses via exporting environmental variable: NAMESRV_ADDR
* <pre>
* {@code
* producer.setNamesrvAddr("name-server1-ip:9876;name-server2-ip:9876");
* }
* </pre>
*/
/*
* Launch the instance.
*/
producer.start();
for (int i = 0; i < 10 * 10; i++) {
try {
/*
* Create a message instance, specifying topic, tag and message body.
*/
final Message message = new Message("TopicTest", "TagA",
/* Message body */
("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET)
);
/*
* Call send message to deliver message to one of brokers.
*/
SendResult sendResult = producer.send(message);
System.out.printf("%s%n", sendResult);
} catch (Exception e) {
e.printStackTrace();
Thread.sleep(1000);
}
}
/*
* Shut down once the producer instance is not longer in use.
*/
producer.shutdown();
}
}
生产后的截图
消费
package sample.rocketmq;
import org.rocketmq.starter.annotation.RocketMQListener;
import org.rocketmq.starter.annotation.RocketMQMessage;
import org.springframework.stereotype.Service;
/**
* <p>
* Note:
* <p>
* Date: 04/08/2018 10:53.
*
* @author He Jialin
*/
@Service
@RocketMQListener(topic = "TopicTest")
public class Consumer {
@RocketMQMessage(messageClass = String.class, tag = "TagA")
public void onMessage(String message) {
System.out.println("received message: {" + message + "}");
}
}
消费后的截图
Rockmq-Console看起来挺酷的
这里跑起消费springboot有点奇怪,不会消费,不知道是不是代码问题,有时间看看。