From f243d5e6a4fe1af69c7b638707c630ee8fed6d24 Mon Sep 17 00:00:00 2001 From: Gustav Karlsson Date: Thu, 30 May 2024 17:21:16 +0200 Subject: [PATCH] fix: always set task_data via JdbcCustomization method (#495) Fixes #452 --- .../kagkarlsson/scheduler/jdbc/JdbcTaskRepository.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/db-scheduler/src/main/java/com/github/kagkarlsson/scheduler/jdbc/JdbcTaskRepository.java b/db-scheduler/src/main/java/com/github/kagkarlsson/scheduler/jdbc/JdbcTaskRepository.java index 041ea349..e39d8476 100644 --- a/db-scheduler/src/main/java/com/github/kagkarlsson/scheduler/jdbc/JdbcTaskRepository.java +++ b/db-scheduler/src/main/java/com/github/kagkarlsson/scheduler/jdbc/JdbcTaskRepository.java @@ -218,7 +218,8 @@ public Instant replace(Execution toBeReplaced, SchedulableInstance newInstance) ps.setInt(index++, 0); // consecutive_failures jdbcCustomization.setInstant(ps, index++, newExecutionTime); // execution_time // may cause datbase-specific problems, might have to use setNull instead - ps.setObject(index++, serializer.serialize(newData)); // task_data + jdbcCustomization.setTaskData( + ps, index++, serializer.serialize(newData)); // task_data ps.setString(index++, toBeReplaced.taskInstance.getTaskName()); // task_name ps.setString(index++, toBeReplaced.taskInstance.getId()); // task_instance ps.setLong(index++, toBeReplaced.version); // version @@ -485,7 +486,7 @@ private boolean rescheduleInternal( if (newData != null) { // may cause datbase-specific problems, might have to use setNull instead // FIXLATER: optionally support bypassing serializer if byte[] already - ps.setObject(index++, serializer.serialize(newData.data)); + jdbcCustomization.setTaskData(ps, index++, serializer.serialize(newData.data)); } ps.setString(index++, execution.taskInstance.getTaskName()); ps.setString(index++, execution.taskInstance.getId());