Skip to content

Commit

Permalink
add rocketmq demo
Browse files Browse the repository at this point in the history
  • Loading branch information
kimmking committed Jan 14, 2021
1 parent a279778 commit 9a30cc5
Show file tree
Hide file tree
Showing 9 changed files with 101 additions and 23 deletions.
1 change: 1 addition & 0 deletions 09mq/rabbit/src/main/java/io/kimmking/mq/camel/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
使用代码方式,实现camel的操作。
8 changes: 4 additions & 4 deletions 09mq/rocket/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-web</artifactId>-->
<!-- </dependency>-->

<dependency>
<groupId>org.apache.rocketmq</groupId>
Expand Down

This file was deleted.

16 changes: 16 additions & 0 deletions 09mq/rocket/src/main/java/io/kimmking/mq/rocket/Order.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package io.kimmking.mq.rocket;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Order {

private long id;
private String symbol;
private double price;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package io.kimmking.mq.rocket;

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQReplyListener;
import org.springframework.stereotype.Component;

@Component
@RocketMQMessageListener(consumerGroup = "test2", topic = "test-k2")
public class OrderConsumerDemo implements RocketMQReplyListener<Order,String> {

@Override
public String onMessage(Order order) {
System.out.println(this.getClass().getName() + " -> " + order);
return "Process&Return [" + order + "].";
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,56 @@
package io.kimmking.mq.rocket;

import org.apache.rocketmq.client.producer.SendCallback;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.util.MimeTypeUtils;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;

@SpringBootApplication
public class RocketApplication {
public class RocketApplication implements CommandLineRunner {

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

@Resource
private RocketMQTemplate rocketMQTemplate;

@Override
public void run(String... args) throws Exception {

String topic = "test-k1";
SendResult sendResult = rocketMQTemplate.syncSend(topic, "Hello, World!" + System.currentTimeMillis());
System.out.printf("syncSend1 to topic %s sendResult=%s %n", topic, sendResult);

sendResult = rocketMQTemplate.syncSend(topic, MessageBuilder.withPayload(
new Order(System.currentTimeMillis(),"CNY2USD", 0.1501d))
.setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).build());
System.out.printf("syncSend1 to topic %s sendResult=%s %n", topic, sendResult);

String topic1 = "test-k2";
rocketMQTemplate.asyncSend(topic1, new Order(System.currentTimeMillis(),"CNY2USD", 0.1502d), new SendCallback() {
@Override
public void onSuccess(SendResult result) {
System.out.printf("async onSucess SendResult=%s %n", result);
}

@Override
public void onException(Throwable throwable) {
System.out.printf("async onException Throwable=%s %n", throwable);
}

});


}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package io.kimmking.mq.rocket;

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

@Component
@RocketMQMessageListener(consumerGroup = "test1", topic = "test-k1")
public class StringConsumerDemo implements RocketMQListener<String> {

@Override
public void onMessage(String message) {
System.out.println(this.getClass().getName() + " -> " + message);
}
}
5 changes: 5 additions & 0 deletions 09mq/rocket/src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

rocketmq.name-server=localhost:9876
rocketmq.producer.group=my-group1
rocketmq.producer.sendMessageTimeout=300000

1 change: 0 additions & 1 deletion 09mq/rocket/src/main/resources/application.yaml

This file was deleted.

0 comments on commit 9a30cc5

Please sign in to comment.