|
@@ -1,18 +1,12 @@
|
|
|
package org.jeecg.modules.redission;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
-import io.netty.channel.nio.NioEventLoopGroup;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.modules.system.app.entity.AppOrder;
|
|
|
import org.jeecg.modules.system.app.service.IAppOrderService;
|
|
|
-import org.redisson.Redisson;
|
|
|
import org.redisson.api.RBlockingQueue;
|
|
|
import org.redisson.api.RDelayedQueue;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
-import org.redisson.config.Config;
|
|
|
-import org.redisson.config.SingleServerConfig;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
@@ -30,7 +24,8 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
|
public class RedissonDelayQueue {
|
|
|
|
|
|
- private RedissonClient redissonClient;
|
|
|
+ @Resource
|
|
|
+ private RedissonConfig redissonConfig;
|
|
|
|
|
|
@Resource
|
|
|
private IAppOrderService appOrderService;
|
|
@@ -38,12 +33,6 @@ public class RedissonDelayQueue {
|
|
|
private RDelayedQueue<String> delayQueue;
|
|
|
private RBlockingQueue<String> blockingQueue;
|
|
|
|
|
|
- @Value("${spring.redis.host}")
|
|
|
- private String host;
|
|
|
-
|
|
|
- @Value("${spring.redis.password}")
|
|
|
- private String password;
|
|
|
-
|
|
|
@PostConstruct
|
|
|
public void init() {
|
|
|
initDelayQueue();
|
|
@@ -51,18 +40,7 @@ public class RedissonDelayQueue {
|
|
|
}
|
|
|
|
|
|
private void initDelayQueue() {
|
|
|
- Config config = new Config();
|
|
|
-
|
|
|
- SingleServerConfig serverConfig = config.useSingleServer();
|
|
|
- serverConfig.setAddress("redis://" + host +":6379");
|
|
|
- if (StrUtil.isNotEmpty(password)){
|
|
|
- serverConfig.setPassword(password);
|
|
|
- }
|
|
|
- //设置连接redis的心跳间隔(30s/次)
|
|
|
- serverConfig.setPingConnectionInterval(30000);
|
|
|
- config.useSingleServer();
|
|
|
- config.setEventLoopGroup(new NioEventLoopGroup(16));
|
|
|
- redissonClient = Redisson.create(config);
|
|
|
+ RedissonClient redissonClient = redissonConfig.redissonClient();
|
|
|
|
|
|
blockingQueue = redissonClient.getBlockingQueue("OrderTimeOutTask");
|
|
|
delayQueue = redissonClient.getDelayedQueue(blockingQueue);
|