Ver código fonte

定时任务移到mall

yubin 2 semanas atrás
pai
commit
6d6271ed5b

+ 6 - 0
mall-service/pom.xml

@@ -173,6 +173,12 @@
             <scope>test</scope>
         </dependency>
 
+
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson</artifactId>
+            <version>3.16.6</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 84 - 0
mall-service/src/main/java/com/txz/mall/configurer/RedissonConfig.java

@@ -0,0 +1,84 @@
+package com.txz.mall.configurer;
+
+import org.redisson.Redisson;
+import org.redisson.api.RedissonClient;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+import org.redisson.config.Config;
+import org.springframework.beans.factory.annotation.Value;
+
+
+@Configuration
+public class RedissonConfig {
+
+    @Value("${redisson.singleServerConfig.address}")
+    private String address;
+
+
+    @Value("${redisson.singleServerConfig.password}")
+    private String password;
+
+
+    @Value("${redisson.singleServerConfig.database}")
+    private Integer database;
+
+    @Value("${redisson.singleServerConfig.connectionMinimumIdleSize}")
+    private Integer connectionMinimumIdleSize;
+
+    @Value("${redisson.singleServerConfig.idleConnectionTimeout}")
+    private Integer idleConnectionTimeout;
+
+    @Value("${redisson.singleServerConfig.connectTimeout}")
+    private Integer connectTimeout;
+
+    @Value("${redisson.singleServerConfig.timeout}")
+    private Integer timeout;
+
+    @Value("${redisson.singleServerConfig.retryAttempts}")
+    private Integer retryAttempts;
+
+    @Value("${redisson.singleServerConfig.retryInterval}")
+    private Integer retryInterval;
+
+
+    @Value("${redisson.singleServerConfig.connectionPoolSize}")
+    private Integer connectionPoolSize;
+
+//    @Value("${redisson.singleServerConfig.reconnectionTimeout}")
+//    private Integer reconnectionTimeout;
+//
+//    @Value("${redisson.singleServerConfig.failedAttempts}")
+//    private Integer failedAttempts;
+
+//    redisson.singleServerConfig.database=0 # 默认数据库为0
+//    redisson.singleServerConfig.connectionMinimumIdleSize=10  # 连接池中的最小空闲连接数
+//    redisson.singleServerConfig.idleConnectionTimeout=10000  # 连接空闲超时,单位:毫秒
+//    redisson.singleServerConfig.connectTimeout=10000  # 超时时间,单位:毫秒
+//    redisson.singleServerConfig.timeout=3000  # 命令等待超时,单位:毫秒
+//    redisson.singleServerConfig.retryAttempts=3  # 命令失败重试次数
+//    redisson.singleServerConfig.retryInterval=1500  # 命令重试发送时间间隔,单位:毫秒
+//    redisson.singleServerConfig.reconnectionTimeout=3000  # 重新连接时间间隔,单位:毫秒
+//    redisson.singleServerConfig.failedAttempts=3 # 在这个时间内失败几次则认为连接失败,单位:次
+    @Bean(destroyMethod = "shutdown")
+    public RedissonClient redisson() {
+        Config config = new Config();
+        config.useSingleServer()
+                .setAddress(address)
+                .setDatabase(database)
+                .setPassword(password)
+                .setConnectionMinimumIdleSize(connectionMinimumIdleSize)
+                .setIdleConnectionTimeout(idleConnectionTimeout)
+                .setConnectTimeout(connectTimeout)
+                .setConnectionPoolSize(connectionPoolSize)
+                .setTimeout(timeout)
+                .setRetryAttempts(retryAttempts)
+                .setRetryInterval(retryInterval)
+
+
+
+        ;
+        return Redisson.create(config);
+    }
+}

+ 29 - 0
mall-service/src/main/java/com/txz/mall/controller/i18nTestController.java

@@ -9,6 +9,8 @@ import com.txz.mall.model.StoreCombination;
 import com.txz.mall.util.I18nUtil;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import org.redisson.api.RLock;
+import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.MessageSource;
 import org.springframework.context.i18n.LocaleContextHolder;
@@ -40,6 +42,33 @@ public class i18nTestController {
         return I18nUtil.get("product.export.template")+"3";
     }
 
+    @Autowired
+    private RedissonClient redissonClient;
 
+    @ApiOperation(value = "redisson")
+    @GetMapping(value = "/redisson")
+    public String redisson1() {
+
+        RLock lock = redissonClient.getLock("lala");
+        lock.lock();
+        try {
+            Thread.sleep(8000);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+        lock.unlock();
+
+        return "success1";
+    }
+
+    @ApiOperation(value = "redisson2")
+    @GetMapping(value = "/redisson2")
+    public String redisson2() {
+        RLock lock = redissonClient.getLock("lala");
+        lock.lock();
+
+        lock.unlock();
+        return "success2";
+    }
 
 }

+ 32 - 2
mall-service/src/main/resources/bootstrap.properties

@@ -42,12 +42,13 @@ spring.cloud.nacos.config.extension-configs[0]=mq-${spring.profiles.active}.prop
 spring.cloud.nacos.config.extension-configs[1]=redis-${spring.profiles.active}.properties
 spring.cloud.nacos.config.extension-configs[2]=${spring.application.name}-${spring.profiles.active}.properties
 
-spring.cloud.nacos.config.extension-configs[3]=xxljob-${spring.profiles.active}.properties
+#spring.cloud.nacos.config.extension-configs[3]=xxljob-${spring.profiles.active}.properties
 dubbo.protocol.serialization=kryo
 #dubbo.protocol.serialization=
 dubbo.protocol.optimizer=
 dubbo.protocol.name=dubbo
 dubbo.protocol.port=-1
+
 dubbo.registry.address=nacos://${${spring.profiles.active}.nacos}
 dubbo.scan.base-packages=com.txz.${spring.application.name}.dubbo.impl
 #dubbo.cloud.subscribed-services=cif
@@ -77,8 +78,37 @@ logging.level.com.txz.mall.dao=DEBUG
 logging.level.org.apache.ibatis=DEBUG
 logging.level.java.sql=DEBUG
 
+redisson.singleServerConfig.address=redis://124.220.229.80:6379
+redisson.singleServerConfig.password=mypassword
+# \u9ED8\u8BA4\u6570\u636E\u5E93\u4E3A0
+redisson.singleServerConfig.database=0
+
+redisson.singleServerConfig.connectionPoolSize=15
+# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\u6570
+redisson.singleServerConfig.connectionMinimumIdleSize=5
+# \u8FDE\u63A5\u7A7A\u95F2\u8D85\u65F6\uFF0C\u5355\u4F4D\uFF1A\u6BEB\u79D2
+redisson.singleServerConfig.idleConnectionTimeout=10000
+# \u8D85\u65F6\u65F6\u95F4\uFF0C\u5355\u4F4D\uFF1A\u6BEB\u79D2
+redisson.singleServerConfig.connectTimeout=30000
+# \u547D\u4EE4\u7B49\u5F85\u8D85\u65F6\uFF0C\u5355\u4F4D\uFF1A\u6BEB\u79D2
+redisson.singleServerConfig.timeout=30000
+# \u547D\u4EE4\u5931\u8D25\u91CD\u8BD5\u6B21\u6570
+redisson.singleServerConfig.retryAttempts=2
+# \u547D\u4EE4\u91CD\u8BD5\u53D1\u9001\u65F6\u95F4\u95F4\u9694\uFF0C\u5355\u4F4D\uFF1A\u6BEB\u79D2
+redisson.singleServerConfig.retryInterval=1500
+
+
+
 local.job=http://8.219.117.74/xxl-job-admin
 dev.job=http://124.220.229.80:9096/xxl-job-admin
 test.job=http://172.10.100.40:8080/xxl-job-admin
 pro.job=http://172.10.100.40:8080/xxl-job-admin
-dev.accessToken=
+dev.accessToken=
+
+xxl.job.admin.addresses=${${spring.profiles.active}.job}
+xxl.job.executor.appname=${spring.application.name}executor
+xxl.job.accessToken=${${spring.profiles.active}.accessToken}
+xxl.job.executor.ip=
+xxl.job.executor.port=4444
+xxl.job.executor.logpath=/var/logs/xxljob/${spring.application.name}/jobhandler
+xxl.job.executor.logretentiondays=4

+ 9 - 1
mall-service/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="false">
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_HOME" value="/var/logs/mall" />
+    <property name="LOG_HOME" value="./mall" />
     <!-- 控制台输出 -->
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
@@ -58,6 +58,11 @@
     <logger name="java.sql.PreparedStatement" level="DEBUG"/>
 	<logger name="com.txz.mall" />
 
+    <logger name="io.lettuce" level="DEBUG"/>
+    <logger name="redis.clients.jedis" level="DEBUG"/>
+    <logger name="org.redisson" level="DEBUG"/>
+
+
     <!-- 日志输出级别 -->
     <root level="INFO">
         <appender-ref ref="STDOUT" />
@@ -65,6 +70,9 @@
         <appender-ref ref="ERROR_FILE" />
     </root>
 
+
+
+
     <!--日志异步到数据库 -->
     <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">-->
         <!--&lt;!&ndash;日志异步到数据库 &ndash;&gt;-->