rocketmq 发送/接收消息简单demo
(1)配置连接ip
producer.setNamesrvAddr("192.168.1.133:9876");
(2)发送消息 TestProducer.java
public class TestProducer {
public static void main(String[] args) throws MQClientException, InterruptedException {
DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName");
producer.setNamesrvAddr("192.168.1.133:9876");
producer.start();
long start=System.currentTimeMillis();
for (int i = 0; i < 10; i++)
try {
{
Message msg = new Message("TopicTest1",
"TagA",
"key113",
("Hello world "+i).getBytes(RemotingHelper.DEFAULT_CHARSET));
SendResult sendResult = producer.send(msg);
System.out.printf("%s%n", sendResult);
} catch (Exception e) {
e.printStackTrace();
}
long end=System.currentTimeMillis();
System.out.println(end-start+"**");
producer.shutdown();
}
}
(3)接收消息(Push) ConsumerTest.java
public class ConsumerTest {
public static void main(String[] args) throws InterruptedException, MQClientException {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("ProducerGroupName_C");
consumer.setNamesrvAddr("192.168.1.133:9876");
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
consumer.subscribe("TopicTest1", "*");
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
ConsumeConcurrentlyContext context) {
System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);
System.out.println(new String(msgs.get(0).getBody()));
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
});
consumer.start();
System.out.printf("Consumer Started.%n");
}
}
分享到:
相关推荐
这个demo可能是通过一个简单的客户端应用,允许用户输入服务器的IP地址和端口号,然后就能与RocketMQ服务器进行交互,实现消息的发布和订阅功能。 1. ** RocketMQ的基本概念 ** - **主题(Topic)**:主题是消息...
这个 Demo 提供了一个简单的使用 RocketMQ 进行消息发布的例子。在实际应用中,你可能需要根据业务需求配置更多的参数,例如设置消费策略、消息重试机制、消息过滤规则等。通过深入研究 RocketMQ 的 API 文档和源码...
描述中提到的"springboot 整合 rocketmq实例代码",意味着这个项目提供了一套实际操作的代码,可以帮助开发者理解如何在Spring Boot应用中配置、发送和接收RocketMQ的消息。这可能包括了创建RocketMQ的生产者、消费...
在`rocketmq-simple-demo`这个示例项目中,可能会包含一个简单的RocketMQ客户端示例,演示如何创建和使用自定义Selector。通过研究和运行这个示例,你可以更深入地理解如何在实际应用中集成和利用自定义Selector功能...
在RocketMQ中,生产者(Producer)负责发送消息,消费者(Consumer)负责接收消息。创建一个Producer实例,需要先定义一个ProducerGroup,然后启动Producer并设置NameServer地址,接着就可以创建并发送消息了。消息...
1. **Producer**:生产者负责创建和发送消息到RocketMQ服务器。在RocketMQ中,生产者可以是单个实例或一组实例,它们共享一个相同的Producer Group标识。在代码示例中,生产者会创建一个`DefaultMQProducer`对象,...
RocketMQ的Demo通常会展示如何创建Producer、Consumer,以及如何发送和消费消息。在实践中,我们可以通过修改配置、调整参数来优化RocketMQ的性能,例如设置合理的队列数量、调整消息刷盘策略等。 文档部分可能包含...
- **事务消息**:RocketMQ 提供事务消息支持,确保消息的发送与业务操作之间的原子性。 - **延迟消息**:允许设置消息在未来某个时间点被消费。 - **顺序消息**:对于需要保证消息顺序的场景,RocketMQ 提供了...
已经实现的功能包括异步消息发送和接收,以及顺序消息的处理,这些都是在实际业务场景中至关重要的特性。 1. **SpringBoot简介**: SpringBoot是基于Spring框架的快速开发工具,它简化了Spring应用的初始搭建以及...
通过IDEA(IntelliJ IDEA)这样的开发工具,你可以运行这些示例代码,观察发送和接收消息的效果。 这个Java SpringBoot的RocketMQ demo是一个基础的起点,实际应用中可能需要处理更复杂的场景,比如消息幂等性、...
- **Producer**: 生产者负责发送消息到RocketMQ服务器。 - **Consumer**: 消费者负责从RocketMQ服务器接收并处理消息。 - **NameServer**: 作为服务发现和路由管理的角色,存储主题和队列的映射关系,生产者和...
NameServer是RocketMQ的服务发现组件,生产者和消费者通过NameServer找到对应的Broker来发送和接收消息。 在实际应用中,RocketMQ提供了丰富的特性,如顺序消息、定时/延时消息、事务消息等。顺序消息确保消息按照...
- **消息确认**:生产者根据本地事务结果返回确认信息,RocketMQ 接收到确认后将消息投递给消费者。 3. **全局事务扩展**: 对于需要跨服务的全局事务,RocketMQ 配合RocketMQ Transactions(RMQXT)提供了一种...
在"aliyun-mq-demo"项目中,可能包含测试类,用于验证消息发送和接收的正确性。通过断言和日志输出,我们可以确保消息被正确地发送到队列,并被消费者成功消费。 总之,"aliyun-mq-demo.zip"提供的示例是一个利用...
1. **选择消息队列产品**:有许多成熟的消息队列产品可供选择,如RabbitMQ、Kafka、ActiveMQ、RocketMQ等。每个产品都有其特性,需要根据实际需求选择。 2. **配置消息队列**:这包括设置服务器、网络连接、认证等,...
这个"rocket_demo.rar"压缩包包含了针对RocketMQ 4.8.0版本的各种消息模式的测试示例,帮助开发者理解并应用这些模式。我们将深入探讨每个模式,以及如何通过Java和Spring框架来实现它们。 首先,我们来看“普通...
这些示例通常会展示如何创建生产者、消费者,发送和接收消息,以及如何处理不同消息模型。通过阅读和运行这些示例,开发者可以更好地理解和学习RocketMQ的API用法和最佳实践。 RocketMQ的应用场景非常广泛,例如: ...
1. **生产者(Producer)**:生产者是消息的发送方,它负责创建并发送消息到RocketMQ服务端。在Producer.java文件中,我们可以看到如何初始化一个Producer实例,设置相关的属性如Group ID,并实现发送消息的逻辑。 ...
在JMeter中,要模拟RocketMQ的请求,你需要编写Java代码来实现RocketMQ的Producer和Consumer接口,创建消息、发布消息到主题,或者消费来自主题的消息。这涉及到对RocketMQ API的深入了解,包括Topic、Queue、...
【mq-demo 初始代码】是一个关于消息...这些代码可能用Java、Python或其他语言编写,展示了如何发送和接收消息。通过研究这个项目,初学者可以理解如何在实际应用中设置和操作MQ,从而提升其在分布式系统开发中的技能。