34
GitHub - ThierrySquirrel/rocketmq-spring-boot-starter: AliYun RocketMQ Spring Bo...
source link: https://github.com/ThierrySquirrel/rocketmq-spring-boot-starter
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
rocketmq-spring-boot-starter
AliYun RocketMQ Spring Book Edition
Support function:
- Three modes of sending ordinary messages: synchronous, asynchronous and one-way
- Subscribe to Message Cluster, Broadcast
- Send and receive sequential messages
- Transaction messages
- Delay message
- receive and receive timing messages
Tips:
Delay message and timing message: In the official case, delayed news is much the same as regular news, essentially ordinary news. If delay message and timing message are needed, it is recommended to use timing task (timing task scheduling platform) To achieve the purpose of delay or timing.
Quick Start
<!--Adding dependencies to pom. XML--> <dependency> <artifactId>rocketmq-spring-boot-starter</artifactId> <groupId>com.github.thierrysquirrel</groupId> <version>2.0.2-RELEASE</version> </dependency>
configuration file
## application.properties thierrysquirrel.access-key= #The Access Key you created in the AliYun Account Management Console for authentication thierrysquirrel.secret-key= #The SecretKey you created in the AliYun Account Management Console for authentication thierrysquirrel.name-srv-addr= #Set up TCP protocol access point and get it from console
Start RocketMQ
@SpringBootApplication @EnableRocketMQ public class DemoApplication{ public static void main(String[] args){ SpringApplication.run(DemoApplication.class, args); } }
Three Ways to Send Common Messages
@RestController @RocketMessage(groupID = "GID_common") public class Common { @GetMapping("/commonA") @CommonMessage(topic = "commonA", tag = "commonA",messageSendType = MessageSendType.SEND) public String h() { return "commonA"; } @GetMapping("/commonB") @CommonMessage(topic = "commonB", tag = "commonB",messageSendType = MessageSendType.SEND_ASYNC) public String hh() { return "commonB"; } @GetMapping("/commonC") @CommonMessage(topic = "commonC", tag = "commonC",messageSendType = MessageSendType.SEND_ONE_WAY) public String hhh() { return "commonC"; } }
Send sequential messages
@RestController @RocketMessage(groupID = "GID_order") public class Order { @GetMapping("/order") @OrderMessage(topic = "order",tag = "order") public String order() { return "order"; } }
Send Transaction Messages
@RestController @RocketMessage(groupID = "GID_transaction") public class Transaction { @GetMapping("/transaction") @TransactionMessage(topic = "transaction",tag = "transaction") public String transaction() { return "transaction"; } }
Delay message or timing message
@RestController @RocketMessage(groupID = "GID_delayed") public class Delayed { @GetMapping("/delayed") @CommonMessage(topic = "delayed", tag = "delayed",startDeliverTime = 10) public String delayed() { return "delayed"; } }
Subscribe to regular, transactional, delayed, timed messages
@RocketListener(groupID = "GID_message") public class Delayed { @MessageListener(topic = "message",tag = "message") public void delayed(String message) { return "message"; } }
Subscription order message
@RocketListener(groupID = "GID_message") public class Delayed { @MessageListener(topic = "message",tag = "message", orderConsumer = true) public void delayed(String message) { return "message"; } }
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK