Browse Source

chore: 架构升级 rocketmq案例基本实现 移除部分代码后续重构

master
wangxiang 2 years ago
parent
commit
7d8eb450a6
  1. 4
      kicc-common-demo/kicc-common-demo-mq/kicc-message-consumer/pom.xml
  2. 4
      kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/pom.xml
  3. 18
      kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/src/main/java/com/cloud/kicc/mq/listener/OrderTransactionListener.java
  4. 12
      kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/src/main/java/com/cloud/kicc/mq/service/impl/TransactionOrderServiceImpl.java
  5. 6
      kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/src/main/resources/application.yml
  6. 20
      kicc-common/kicc-common-bom/pom.xml

4
kicc-common-demo/kicc-common-demo-mq/kicc-message-consumer/pom.xml

@ -29,6 +29,10 @@ @@ -29,6 +29,10 @@
<groupId>com.cloud</groupId>
<artifactId>kicc-common-data</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
</dependencies>
<build>

4
kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/pom.xml

@ -29,6 +29,10 @@ @@ -29,6 +29,10 @@
<groupId>com.cloud</groupId>
<artifactId>kicc-common-data</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
</dependencies>
<build>

18
kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/src/main/java/com/cloud/kicc/mq/listener/OrderTransactionListener.java

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
/*
package com.cloud.kicc.mq.listener;
import com.alibaba.fastjson.JSON;
@ -15,24 +16,28 @@ import org.springframework.messaging.MessageHeaders; @@ -15,24 +16,28 @@ import org.springframework.messaging.MessageHeaders;
import java.util.ArrayList;
import java.util.List;
*/
/**
* 发送之后用于控制原子性的类
* 在消息发送之后收到rocketmq的发送结果通知后才提交的本地事务
*
* @author entfrm开发团队-王翔
* @link https://blog.csdn.net/guzhangyu12345/article/details/107989633
*/
*//*
@Slf4j
@RocketMQTransactionListener(txProducerGroup = MessageConstant.ORDER_BINDER_GROUP)
public class OrderTransactionListener implements RocketMQLocalTransactionListener {
/**
*/
/**
* rocketmq 消息发送成功之后提交本地事务
*
* @param message 消息
* @param o  args
* @return RocketMQLocalTransactionState
*/
*//*
@Override
public RocketMQLocalTransactionState executeLocalTransaction(Message message, Object o) {
@ -53,12 +58,14 @@ public class OrderTransactionListener implements RocketMQLocalTransactionListene @@ -53,12 +58,14 @@ public class OrderTransactionListener implements RocketMQLocalTransactionListene
}
/**
*/
/**
* rocketmq 回查,判断提交还是回滚
*
* @param message Message
* @return RocketMQLocalTransactionState
*/
*//*
@Override
public RocketMQLocalTransactionState checkLocalTransaction(Message message) {
Order order = JSON.parseObject(new String((byte[]) message.getPayload()), Order.class);
@ -73,3 +80,4 @@ public class OrderTransactionListener implements RocketMQLocalTransactionListene @@ -73,3 +80,4 @@ public class OrderTransactionListener implements RocketMQLocalTransactionListene
}
}
}
*/

12
kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/src/main/java/com/cloud/kicc/mq/service/impl/TransactionOrderServiceImpl.java

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
/*
package com.cloud.kicc.mq.service.impl;
import com.cloud.kicc.common.rocketmq.channel.KiccSource;
@ -15,6 +16,7 @@ import java.math.BigDecimal; @@ -15,6 +16,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.UUID;
*/
/**
*<p>
* 订单事务消息实现
@ -22,7 +24,8 @@ import java.util.UUID; @@ -22,7 +24,8 @@ import java.util.UUID;
*
* @Author: entfrm开发团队-王翔
* @Date: 2022/3/9
*/
*//*
@Slf4j
@Service
@AllArgsConstructor
@ -32,10 +35,12 @@ public class TransactionOrderServiceImpl implements TransactionOrderService { @@ -32,10 +35,12 @@ public class TransactionOrderServiceImpl implements TransactionOrderService {
private final KiccSource kiccSource;
/**
*/
/**
* 这里消息发送只是half发送
* 后面消息队列中half成功后在TestTransactionListener中的executeLocalTransaction的方法中决定是否要提交本地事务
*/
*//*
@Override
public void testTransaction() {
@ -78,3 +83,4 @@ public class TransactionOrderServiceImpl implements TransactionOrderService { @@ -78,3 +83,4 @@ public class TransactionOrderServiceImpl implements TransactionOrderService {
log.info("half消息发送成功");
}
}
*/

6
kicc-common-demo/kicc-common-demo-mq/kicc-message-producer/src/main/resources/application.yml

@ -4,6 +4,12 @@ spring: @@ -4,6 +4,12 @@ spring:
application:
name: @artifactId@
cloud:
cloud:
nacos:
discovery:
server-addr: ${NACOS_HOST:192.168.3.10}:${NACOS_PORT:8848}
namespace: ${seata.registry.nacos.namespace}
group: ${seata.registry.nacos.group}
stream:
rocketmq:
# rocketmq-binder配置项,对应RocketMQBinderConfigurationProperties类

20
kicc-common/kicc-common-bom/pom.xml

@ -17,9 +17,8 @@ @@ -17,9 +17,8 @@
<maven.compiler.target>1.8</maven.compiler.target>
<kicc.common.version>${project.version}</kicc.common.version>
<spring-boot.version>2.6.3</spring-boot.version>
<security.oauth.version>2.1.8.RELEASE</security.oauth.version>
<cloud.stream.version>3.0.13.RELEASE</cloud.stream.version>
<alibaba-seata.version>2021.0.1.0</alibaba-seata.version>
<!--<security.oauth.version>2.1.8.RELEASE</security.oauth.version>-->
<!--<alibaba-seata.version>2021.0.1.0</alibaba-seata.version>-->
<log4j2.version>2.17.1</log4j2.version>
<fastjson.version>1.2.78</fastjson.version>
<swagger.core.version>1.5.24</swagger.core.version>
@ -116,24 +115,17 @@ @@ -116,24 +115,17 @@
</dependency>
<!--最新版本2021.1 com.alibaba.cloud.seata.rest.SeataRestTemplateAutoConfiguration有自调Bean问题
与当前 spring cloud 2021 不兼容,更换2021.0.1.0兼容版本-->
<dependency>
<!--<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<version>${alibaba-seata.version}</version>
</dependency>
<!--稳定版本,目前最新版采用函数编程经过测试rocketMQ消费者接受消息收不到,
目前最新版适配还存在一定的问题,替代spring-cloud-starter-stream-rocketmq2021.1 bom内置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
<version>${cloud.stream.version}</version>
</dependency>
</dependency>-->
<!--稳定版本,替代spring security2.6.3 bom内置-->
<dependency>
<!--<dependency>
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
<version>${security.oauth.version}</version>
</dependency>
</dependency>-->
<!--swagger 最新依赖内置版本-->
<dependency>
<groupId>io.swagger</groupId>

Loading…
Cancel
Save