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 # 设置订阅的应用列表,默认为 * 订阅所有应用