diff --git a/src/main/java/org/redkale/schedule/ScheduleEvent.java b/src/main/java/org/redkale/schedule/ScheduleEvent.java index d0132d8cc..33d393f5a 100644 --- a/src/main/java/org/redkale/schedule/ScheduleEvent.java +++ b/src/main/java/org/redkale/schedule/ScheduleEvent.java @@ -19,7 +19,7 @@ import org.redkale.util.Utility; * * @since 2.8.0 */ -public class ScheduleEvent { +public final class ScheduleEvent { private final Map map; @@ -71,6 +71,6 @@ public class ScheduleEvent { @Override public String toString() { - return JsonConvert.root().convertTo(this); + return JsonConvert.root().convertTo(map); } } diff --git a/src/main/java/org/redkale/schedule/spi/ScheduleManagerService.java b/src/main/java/org/redkale/schedule/spi/ScheduleManagerService.java index b7838089d..c12fe3c41 100644 --- a/src/main/java/org/redkale/schedule/spi/ScheduleManagerService.java +++ b/src/main/java/org/redkale/schedule/spi/ScheduleManagerService.java @@ -157,7 +157,7 @@ public class ScheduleManagerService implements ScheduleManager, Service { } methodKeys.add(mk); if (method.getParameterCount() != 0 - && (method.getParameterCount() == 1 && method.getParameterTypes()[0] == ScheduleEvent.class)) { + && !(method.getParameterCount() == 1 && method.getParameterTypes()[0] == ScheduleEvent.class)) { throw new RedkaleException("@" + Scheduled.class.getSimpleName() + " must be on non-parameter or " + ScheduleEvent.class.getSimpleName() + "-parameter method, but on " + method); } @@ -247,12 +247,15 @@ public class ScheduleManagerService implements ScheduleManager, Service { if (event == null) { rs = mh.invoke(obj); } else { - rs = mh.invoke(obj, event.clear()); + rs = mh.invoke(obj, event); } } } catch (Throwable t) { logger.log(Level.SEVERE, "schedule task error", t); } + if (event != null) { + event.clear(); + } return rs; }; } catch (IllegalAccessException e) {