34

GitHub - ThierrySquirrel/rocketmq-spring-boot-starter: AliYun RocketMQ Spring Bo...

 4 years ago
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";
    }
}

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK