From 1e715285fa2b9a1b17bff7bc7a70b639aca5e025 Mon Sep 17 00:00:00 2001 From: redkale Date: Thu, 4 Jan 2024 09:57:45 +0800 Subject: [PATCH] doc --- docs/scheduled.md | 36 ++++++++++++++++++- .../java/org/redkale/boot/Application.java | 2 +- .../org/redkale/schedule/ScheduleEvent.java | 6 ++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/docs/scheduled.md b/docs/scheduled.md index 90c46a78f..465fa1fd2 100644 --- a/docs/scheduled.md +++ b/docs/scheduled.md @@ -40,11 +40,45 @@ } ``` -## 定时配置 +## 基本配置 ```xml +``` + + +## 使用Xxl-Job +  Schedule可以采用第三方实现, 官方扩展包```redkale-plugins```提供了xxl-job实现,且不依赖xxl-job包。 + +### pom依赖 +```xml + + org.redkalex + redkale-plugins + 2.8.0 + +``` + +### 配置文件 +```xml + + + port="5678" + accessToken="default_token" /> + +``` + +### 使用方法 +```java + @Scheduled(name = "testTask") + public void runTask(ScheduleEvent event) { + System.out.println("xxl-job参数param: " + event.getString("param")); + System.out.println("xxl-job参数index: " + event.getInteger("index")); + System.out.println("xxl-job参数total: " + event.getInteger("total")); + } ``` \ No newline at end of file diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 21c751b92..28a0d383a 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -881,7 +881,7 @@ public final class Application { listener.onPreStart(this); } for (ModuleEngine item : moduleEngines) { - item.onAppPostInit(); + item.onAppPreStart(); } } diff --git a/src/main/java/org/redkale/schedule/ScheduleEvent.java b/src/main/java/org/redkale/schedule/ScheduleEvent.java index 33d393f5a..67581fe25 100644 --- a/src/main/java/org/redkale/schedule/ScheduleEvent.java +++ b/src/main/java/org/redkale/schedule/ScheduleEvent.java @@ -3,6 +3,7 @@ */ package org.redkale.schedule; +import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; import org.redkale.convert.json.JsonConvert; @@ -36,6 +37,11 @@ public final class ScheduleEvent { return (T) map.get(name); } + public T getJson(String name, Type type) { + Object obj = get(name); + return obj == null ? null : JsonConvert.root().convertFrom(type, obj.toString()); + } + public String getString(String name) { return Utility.convertValue(String.class, map.get(name)); }