Commit fd905b5e authored by liuzijian's avatar liuzijian

新增RocketMQ

parent c9fa7d04
......@@ -57,6 +57,12 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
</dependencyManagement>
......
package com.unififi.model;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
public class ChangeOrder {
private String orderNo;
}
package com.unififi.model;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
public class RefundOrder {
private String orderNo;
}
package com.unififi.model;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
public class TicketingOrder {
private String orderNo;
}
......@@ -117,6 +117,10 @@
<artifactId>dynamic-config-spring-boot-starter</artifactId>
<version>0.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<!-- 测试相关 -->
<dependency>
<groupId>org.springframework.boot</groupId>
......
......@@ -33,4 +33,9 @@ spring:
metadata:
unififi.mode: ${unififi.mode}
unififi.service.version: '@unififi-service.version@'
unififi.env: ${spring.profiles.active}
\ No newline at end of file
unififi.env: ${spring.profiles.active}
rocketmq:
name-server: 192.168.228.100:9876
producer:
group: unififi-demo1-service
\ No newline at end of file
package com.unififi.test;
import com.unififi.Demo1Application;
import com.unififi.model.ChangeOrder;
import com.unififi.model.RefundOrder;
import com.unififi.model.TicketingOrder;
import org.apache.rocketmq.common.message.MessageConst;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
@SpringBootTest(classes = Demo1Application.class)
public class TestMQ {
@Autowired
private RocketMQTemplate rocketMQTemplate;
@Test
public void sendSimple() {
TicketingOrder order = new TicketingOrder();
order.setOrderNo("ticketing");
rocketMQTemplate.convertAndSend("order-push:ticketing", order);
}
@Test
public void sendSimple2() {
RefundOrder order = new RefundOrder();
order.setOrderNo("refund");
Message<RefundOrder> message = MessageBuilder.withPayload(order)
.setHeader(MessageConst.PROPERTY_KEYS, "key")
.build();
rocketMQTemplate.send("order-push:refund", message);
}
@Test
public void sendSimple3() {
ChangeOrder order = new ChangeOrder();
order.setOrderNo("change");
rocketMQTemplate.convertAndSend("order-push:change", order);
}
}
......@@ -100,7 +100,10 @@
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......
package com.unififi.message;
import com.unififi.model.ChangeOrder;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RocketMQMessageListener(consumerGroup = "unififi-demo2-service-sync-change", topic = "order-push", selectorExpression = "change")
public class ChangeConsumer implements RocketMQListener<ChangeOrder> {
@Override
public void onMessage(ChangeOrder changeOrder) {
log.info(changeOrder.toString());
}
}
package com.unififi.message;
import com.unififi.model.RefundOrder;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RocketMQMessageListener(consumerGroup = "unififi-demo2-service-sync-refund", topic = "order-push", selectorExpression = "refund")
public class RefundConsumer implements RocketMQListener<RefundOrder> {
@Override
public void onMessage(RefundOrder refundOrder) {
log.info(refundOrder.toString());
}
}
package com.unififi.message;
import com.unififi.model.TicketingOrder;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RocketMQMessageListener(consumerGroup = "unififi-demo2-service-sync-ticketing", topic = "order-push", selectorExpression = "ticketing")
public class TicketingConsumer implements RocketMQListener<TicketingOrder> {
@Override
public void onMessage(TicketingOrder ticketingOrder) {
log.info(ticketingOrder.toString());
}
}
......@@ -32,4 +32,9 @@ spring:
metadata:
unififi.mode: ${unififi.mode}
unififi.service.version: '@unififi-service.version@'
user.home: ${user.home}
\ No newline at end of file
user.home: ${user.home}
rocketmq:
name-server: 192.168.228.100:9876
producer:
group: unififi-demo2-service
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment