分布式消息服务ROCKETMQ版-RocketMQ-Spring的使用:生产消息

时间:2024-08-29 16:36:38

生产消息

生产消息的示例代码如下(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。
@SpringBootApplication
public class ProduceDemoApplication implements CommandLineRunner {
    @Resource
    private RocketMQTemplate rocketMQTemplate;

    public static void main(String[] args) {
        SpringApplication.run(ProduceDemoApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        // send message synchronously
        rocketMQTemplate.convertAndSend("topic", "Hello, World!");
        // send spring message
        rocketMQTemplate.send(
                "topic", MessageBuilder.withPayload("Hello, World! I'm from spring message").build());
        // send messgae asynchronously
        rocketMQTemplate.asyncSend(
                "topic",
                MessageBuilder.withPayload("Hello, World! I'm from spring message").build(),
                new SendCallback() {
                    @Override
                    public void onSuccess(SendResult var1) {
                        System.out.printf("async onSucess SendResult=%s %n", var1);
                    }

                    @Override
                    public void onException(Throwable var1) {
                        System.out.printf("async onException Throwable=%s %n", var1);
                    }
                });
        // Send messages orderly
        rocketMQTemplate.syncSendOrderly(
                "topic", MessageBuilder.withPayload("Hello, World").build(), "hashkey");
    }
}
support.huaweicloud.com/devg-hrm/rocketmq-spring.html