diff --git a/order/order-service-impl/src/main/resources/config/application.yaml b/order/order-service-impl/src/main/resources/config/application.yaml
index 84b16eae2..fea186f92 100644
--- a/order/order-service-impl/src/main/resources/config/application.yaml
+++ b/order/order-service-impl/src/main/resources/config/application.yaml
@@ -11,7 +11,7 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
# mybatis-plus
mybatis-plus:
@@ -27,7 +27,7 @@ mybatis-plus:
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: admin-application, user-application, product-application, promotion-application, pay-application # 设置订阅的应用列表,默认为 * 订阅所有应用
diff --git a/pay/pay-service-impl/src/main/resources/config/application.yaml b/pay/pay-service-impl/src/main/resources/config/application.yaml
index 1b5d79598..661f9eb12 100644
--- a/pay/pay-service-impl/src/main/resources/config/application.yaml
+++ b/pay/pay-service-impl/src/main/resources/config/application.yaml
@@ -11,7 +11,7 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
# mybatis
mybatis-plus:
@@ -23,7 +23,7 @@ mybatis-plus:
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: admin-application # 设置订阅的应用列表,默认为 * 订阅所有应用
diff --git a/pom.xml b/pom.xml
index a7b440c27..faa205027 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,9 +57,6 @@
2.5
- 0.6.0
- 1.4.1
-
1.8
6.0.16.Final
1.2.56
@@ -201,18 +198,6 @@
${spring-boot-admin-starter-client.version}
-
- io.micrometer
- micrometer-registry-prometheus
- ${micrometer.version}
-
-
-
- io.prometheus
- simpleclient_spring_boot
- ${prometheus-spring-boot.version}
-
-
diff --git a/product/product-service-impl/pom.xml b/product/product-service-impl/pom.xml
index 8eba77bdb..6fb079daa 100644
--- a/product/product-service-impl/pom.xml
+++ b/product/product-service-impl/pom.xml
@@ -64,8 +64,8 @@
- org.apache.rocketmq
- rocketmq-spring-boot-starter
+ com.alibaba.cloud
+ spring-cloud-starter-stream-rocketmq
diff --git a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/MQStreamConfiguration.java b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/MQStreamConfiguration.java
new file mode 100644
index 000000000..fc8e4d021
--- /dev/null
+++ b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/MQStreamConfiguration.java
@@ -0,0 +1,10 @@
+package cn.iocoder.mall.product.config;
+
+import cn.iocoder.mall.product.message.MQStreamProducer;
+import org.springframework.cloud.stream.annotation.EnableBinding;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@EnableBinding(MQStreamProducer.class)
+public class MQStreamConfiguration {
+}
diff --git a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/message/MQStreamProducer.java b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/message/MQStreamProducer.java
new file mode 100644
index 000000000..9b255becb
--- /dev/null
+++ b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/message/MQStreamProducer.java
@@ -0,0 +1,27 @@
+package cn.iocoder.mall.product.message;
+
+import org.springframework.cloud.stream.annotation.Output;
+import org.springframework.messaging.MessageChannel;
+
+/**
+ * Spring Cloud Stream Source 接口
+ */
+public interface MQStreamProducer {
+
+ /**
+ * 商品更新 Output
+ */
+ String PRODUCT_UPDATE_OUTPUT = "product-update-output";
+
+ @Output(PRODUCT_UPDATE_OUTPUT)
+ MessageChannel productUpdateOutput();
+
+// default boolean sendProductUpdateMessage(ProductUpdateMessage message) {
+// // 创建 Spring Message 对象
+// Message springMessage = MessageBuilder.withPayload(message)
+// .build();
+// // 发送消息
+// return productUpdateOutput().send(springMessage);
+// }
+
+}
diff --git a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuCollectionServiceImpl.java b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuCollectionServiceImpl.java
index 874cc4412..cf557d361 100644
--- a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuCollectionServiceImpl.java
+++ b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuCollectionServiceImpl.java
@@ -31,7 +31,6 @@ public class ProductSpuCollectionServiceImpl implements ProductSpuCollectionServ
@Resource
private RocketMQTemplate rocketMQTemplate;
-
@Override
public boolean productSpuCollection(Integer spuId, Integer hasCollectionType, Integer userId) {
ProductSpuDO productSpuDO = this.productSpuMapper.selectById(spuId);
@@ -48,6 +47,7 @@ public class ProductSpuCollectionServiceImpl implements ProductSpuCollectionServ
* @param productSpuDO
* @param hasCollectionType
*/
+ // TODO FROM 芋艿 to ??:切换到 Spring Cloud Stream 发送消息
private void sendProductSpuCollectionMessage(final ProductSpuDO productSpuDO, final Integer hasCollectionType,
final Integer userId) {
List result = Lists.newArrayList(Splitter.on(",").omitEmptyStrings().trimResults().split(productSpuDO.getPicUrls()));
diff --git a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java
index decedd4fe..8fb9734e0 100644
--- a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java
+++ b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java
@@ -17,13 +17,14 @@ import cn.iocoder.mall.product.dao.ProductSpuMapper;
import cn.iocoder.mall.product.dataobject.ProductCategoryDO;
import cn.iocoder.mall.product.dataobject.ProductSkuDO;
import cn.iocoder.mall.product.dataobject.ProductSpuDO;
-import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import cn.iocoder.mall.product.message.MQStreamProducer;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.Message;
+import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
-import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@@ -41,8 +42,8 @@ public class ProductSpuServiceImpl implements ProductSpuService {
@Autowired
private ProductAttrServiceImpl productAttrService;
- @Resource
- private RocketMQTemplate rocketMQTemplate;
+ @Autowired
+ private MQStreamProducer mqStreamProducer;
// @Override
// public ProductSpuBO getProductSpuDetail(Integer id) {
@@ -346,8 +347,14 @@ public class ProductSpuServiceImpl implements ProductSpuService {
spu.setQuantity(skus.stream().mapToInt(ProductSkuAddOrUpdateDTO::getQuantity).sum()); // 求库存之和
}
- private void sendProductUpdateMessage(Integer id) {
- rocketMQTemplate.convertAndSend(ProductUpdateMessage.TOPIC, new ProductUpdateMessage().setId(id));
+ private boolean sendProductUpdateMessage(Integer id) {
+ // 创建 Message 对象
+ ProductUpdateMessage message = new ProductUpdateMessage().setId(id);
+ // 创建 Spring Message 对象
+ Message springMessage = MessageBuilder.withPayload(message)
+ .build();
+ // 发送消息
+ return mqStreamProducer.productUpdateOutput().send(springMessage);
}
}
diff --git a/product/product-service-impl/src/main/resources/config/application.yaml b/product/product-service-impl/src/main/resources/config/application.yaml
index 2e46540cc..5d64b92ef 100644
--- a/product/product-service-impl/src/main/resources/config/application.yaml
+++ b/product/product-service-impl/src/main/resources/config/application.yaml
@@ -11,7 +11,25 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
+
+ # Spring Cloud Stream 配置
+ stream:
+ # Binding 配置项
+ bindings:
+ product-update-output:
+ destination: ProductUpdate
+ # Spring Cloud Stream RocketMQ 配置项
+ rocketmq:
+ # RocketMQ Binder 配置项
+ binder:
+ name-server: s1.iocoder.cn:9876 # RocketMQ Namesrv 地址
+ # RocketMQ 默认 Binding 配置项
+ default:
+ # RocketMQ 生产者
+ producer:
+ group: product-producer-group # 生产者分组
+ sync: true # 是否同步发送消息,默认为 false 异步。
# mybatis
mybatis-plus:
@@ -23,7 +41,7 @@ mybatis-plus:
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: admin-application # 设置订阅的应用列表,默认为 * 订阅所有应用
@@ -50,12 +68,6 @@ dubbo:
ProductSpuCollectionService:
version: 1.0.0
-# rocketmq
-rocketmq:
- name-server: 127.0.0.1:9876
- producer:
- group: product-producer-group
-
# Seata 配置项
seata:
# Seata 注册中心配置项
diff --git a/promotion/promotion-service-impl/src/main/resources/config/application.yaml b/promotion/promotion-service-impl/src/main/resources/config/application.yaml
index 8c92aaed9..bcd293415 100644
--- a/promotion/promotion-service-impl/src/main/resources/config/application.yaml
+++ b/promotion/promotion-service-impl/src/main/resources/config/application.yaml
@@ -12,7 +12,7 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
# mybatis-plus
mybatis-plus:
@@ -28,7 +28,7 @@ mybatis-plus:
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: admin-application, product-application # 设置订阅的应用列表,默认为 * 订阅所有应用
diff --git a/search/search-service-impl/src/main/resources/config/application.yaml b/search/search-service-impl/src/main/resources/config/application.yaml
index c00f9525e..298573b55 100644
--- a/search/search-service-impl/src/main/resources/config/application.yaml
+++ b/search/search-service-impl/src/main/resources/config/application.yaml
@@ -12,13 +12,13 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
# Dubbo 配置项
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: admin-application, order-application, product-application # 设置订阅的应用列表,默认为 * 订阅所有应用
diff --git a/system/system-service-impl/src/main/resources/config/application.yaml b/system/system-service-impl/src/main/resources/config/application.yaml
index 7f4577872..a16fbe58f 100644
--- a/system/system-service-impl/src/main/resources/config/application.yaml
+++ b/system/system-service-impl/src/main/resources/config/application.yaml
@@ -1,7 +1,7 @@
spring:
# datasource
datasource:
- url: jdbc:mysql://180.167.213.26:13306/mall_admin?useSSL=false&useUnicode=true&characterEncoding=UTF-8
+ url: jdbc:mysql://s1.iocoder.cn:3306/mall_admin?useSSL=false&useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.jdbc.Driver
username: root
password: ${MALL_MYSQL_PASSWORD}
@@ -11,7 +11,7 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
# mybatis-plus
mybatis-plus:
@@ -37,7 +37,7 @@ sms:
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: '' # 设置订阅的应用列表,默认为 * 订阅所有应用
diff --git a/user/user-service-impl/src/main/resources/config/application.yaml b/user/user-service-impl/src/main/resources/config/application.yaml
index 92da8d6c7..b1020c9db 100644
--- a/user/user-service-impl/src/main/resources/config/application.yaml
+++ b/user/user-service-impl/src/main/resources/config/application.yaml
@@ -11,7 +11,7 @@ spring:
nacos:
# Spring Cloud Nacos Discovery 配置项
discovery:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ server-addr: s1.iocoder.cn:8848 # Nacos 服务器地址
# mybatis-plus
mybatis-plus:
@@ -29,7 +29,7 @@ mybatis-plus:
dubbo:
# Dubbo 注册中心
registry:
- address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
+ address: spring-cloud://s1.iocoder.cn:8848 # 指定 Dubbo 服务注册中心的地址
# Spring Cloud Alibaba Dubbo 专属配置
cloud:
subscribed-services: admin-application, product-application # 设置订阅的应用列表,默认为 * 订阅所有应用