1. 修复bug:前置判断context==null

2. 修复bug:HandlerHolder初始化this覆盖
3. 接入redis
pull/2/head
3y 4 years ago
parent a7e195daef
commit 67429a8ea8

@ -24,6 +24,11 @@
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>

@ -1,6 +1,7 @@
package com.java3y.austin.handler;
import com.java3y.austin.domain.TaskInfo;
import com.java3y.austin.enums.ChannelType;
import org.springframework.stereotype.Component;
/**
@ -11,6 +12,10 @@ import org.springframework.stereotype.Component;
@Component
public class EmailHandler extends Handler {
public EmailHandler() {
channelCode = ChannelType.EMAIL.getCode();
}
@Override
public void handler(TaskInfo taskInfoList) {
}

@ -1,7 +1,6 @@
package com.java3y.austin.handler;
import com.java3y.austin.domain.TaskInfo;
import com.java3y.austin.enums.ChannelType;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.PostConstruct;
@ -12,6 +11,13 @@ import javax.annotation.PostConstruct;
*/
public abstract class Handler {
/**
* Code
*
*/
protected Integer channelCode;
@Autowired
private HandlerHolder handlerHolder;
@ -20,9 +26,7 @@ public abstract class Handler {
*/
@PostConstruct
private void init() {
for (ChannelType channelType : ChannelType.values()) {
handlerHolder.putHandler(channelType.getCode(), this);
}
handlerHolder.putHandler(channelCode, this);
}
public void doHandler(TaskInfo taskInfo) {

@ -7,6 +7,7 @@ import com.java3y.austin.domain.SmsParam;
import com.java3y.austin.domain.SmsRecord;
import com.java3y.austin.domain.TaskInfo;
import com.java3y.austin.dto.SmsContentModel;
import com.java3y.austin.enums.ChannelType;
import com.java3y.austin.script.SmsScript;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -21,6 +22,10 @@ import java.util.List;
@Component
public class SmsHandler extends Handler {
public SmsHandler() {
channelCode = ChannelType.SMS.getCode();
}
@Autowired
private SmsRecordDao smsRecordDao;

@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
/**
* Task
* 0.
* 1.
* 2.
*
@ -28,10 +29,13 @@ public class Task implements Runnable {
@Override
public void run() {
// 0. TODO 丢弃消息
// 1. TODO 通用去重
// 2. 真正发送消息
handlerHolder.route(taskInfo.getSendChannel())
.doHandler(taskInfo);
}
}

@ -17,23 +17,18 @@ import java.util.concurrent.ExecutorService;
*/
@Component
public class TaskPendingHolder {
private Map<String, ExecutorService> taskPendingHolder = new HashMap<>(32);
/**
* groupId
*/
private static List<String> groupIds = GroupIdMappingUtils.getAllGroupIds();
/**
* 线
*/
private Integer coreSize = 3;
private Integer maxSize = 3;
private Integer queueSize = 100;
private Map<String, ExecutorService> taskPendingHolder = new HashMap<>(32);
/**
* groupId
*/
private static List<String> groupIds = GroupIdMappingUtils.getAllGroupIds();
/**
* 线
*
@ -46,7 +41,6 @@ public class TaskPendingHolder {
taskPendingHolder.put(groupId, ThreadPoolConfig.getThreadPool(coreSize, maxSize, queueSize));
}
}
/**
* 线
* @param groupId

@ -59,6 +59,7 @@ public class ProcessController {
private Boolean preCheck(ProcessContext context) {
// 上下文
if (context == null) {
context = new ProcessContext();
context.setResponse(BasicResultVO.fail(RespStatusEnum.CONTEXT_IS_NULL));
return false;
}

@ -0,0 +1,25 @@
package com.java3y.austin.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author 3y
* @date 2021/12/9
*/
@RestController
@Slf4j
public class RedisController {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@RequestMapping("/redis")
public void testRedis() {
log.info(redisTemplate.opsForValue().get("1"));
}
}

@ -17,7 +17,6 @@ tencent:
sms-sdk-app-id:
template-id:
# 数据库相关的信息配置 TODO
spring:
datasource:
@ -27,7 +26,7 @@ spring:
driver-class-name:
# kafka相关的信息配置 TODO
kafka:
bootstrap-servers: 119.91.205.248:9092
bootstrap-servers:
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
@ -39,9 +38,14 @@ spring:
reset: earliest
auto-commit-interval: 1000
enable-auto-commit: true
# redis 相关配置 TODO
redis:
host:
port:
password:
# tomcat / HikariPool(数据库连接池 配置) TODO
# 消息topicName TODO
austin:
topic:

Loading…
Cancel
Save