gongfuzhu 8 meses atrás
pai
commit
97483b6487

+ 7 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/dao/ScheduledTaskDao.java

@@ -0,0 +1,7 @@
+package com.zswl.cloud.springBtach.server.core.dao;
+
+import com.github.microservice.components.data.mongo.mongo.dao.MongoDao;
+import com.zswl.cloud.springBtach.server.core.domain.ScheduledTask;
+
+public interface ScheduledTaskDao extends MongoDao<ScheduledTask> {
+}

+ 20 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/domain/ScheduledTask.java

@@ -0,0 +1,20 @@
+package com.zswl.cloud.springBtach.server.core.domain;
+
+import com.github.microservice.components.data.mongo.timer.domain.SimpleTaskTimerTable;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.index.Indexed;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Data
+@Document
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ScheduledTask extends SimpleTaskTimerTable {
+
+    @Indexed(unique = true)
+    private String method;
+}

+ 12 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/task/TaskLogic.java

@@ -0,0 +1,12 @@
+package com.zswl.cloud.springBtach.server.core.task;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class TaskLogic {
+
+    public void test(){
+
+        System.out.println(System.currentTimeMillis());
+    }
+}

+ 25 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/task/TaskTimerEvent.java

@@ -0,0 +1,25 @@
+package com.zswl.cloud.springBtach.server.core.task;
+
+import com.github.microservice.components.data.mongo.timer.event.SimpleTaskTimerEvent;
+import com.zswl.cloud.springBtach.server.core.domain.ScheduledTask;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+
+@Slf4j
+@Component
+public class TaskTimerEvent implements SimpleTaskTimerEvent<ScheduledTask> {
+
+    @Autowired
+    private TaskLogic taskLogic;
+    @SneakyThrows
+    @Override
+    public void execute(ScheduledTask entity) {
+        Method method = TaskLogic.class.getMethod(entity.getMethod());
+        method.invoke(taskLogic);
+
+    }
+}