aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/queue/JdbcAsyncService.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-05-26 10:42:01 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-05-26 10:42:01 +0200
commitb65d39ab617d19ac48f44bc41f04a18803ca75e6 (patch)
treec93ed68851b56f64a33508108cdb432bf507fa11 /src/main/java/io/trygvis/queue/JdbcAsyncService.java
parent74a3da1853eeb2e853d17d8d8527404248b209d3 (diff)
downloadquartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.tar.gz
quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.tar.bz2
quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.tar.xz
quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.zip
o Adding a 'parent' reference so tasks can be put in a tree.
Diffstat (limited to 'src/main/java/io/trygvis/queue/JdbcAsyncService.java')
-rw-r--r--src/main/java/io/trygvis/queue/JdbcAsyncService.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/io/trygvis/queue/JdbcAsyncService.java b/src/main/java/io/trygvis/queue/JdbcAsyncService.java
index 06e7eee..276541f 100644
--- a/src/main/java/io/trygvis/queue/JdbcAsyncService.java
+++ b/src/main/java/io/trygvis/queue/JdbcAsyncService.java
@@ -94,6 +94,14 @@ public class JdbcAsyncService implements AsyncService {
@Transactional(propagation = REQUIRED)
public Task schedule(final Queue queue, String... args) {
+ return scheduleInner(null, queue, args);
+ }
+
+ public Task schedule(long parent, Queue queue, String... args) {
+ return scheduleInner(parent, queue, args);
+ }
+
+ private Task scheduleInner(Long parent, final Queue queue, String... args) {
Date scheduled = new Date();
StringBuilder arguments = new StringBuilder();
@@ -101,8 +109,8 @@ public class JdbcAsyncService implements AsyncService {
arguments.append(arg).append(' ');
}
- long id = taskDao.insert(queue.name, scheduled, arguments.toString());
- Task task = new Task(id, queue.name, scheduled, null, 0, null, asList(args));
+ long id = taskDao.insert(parent, queue.name, scheduled, arguments.toString());
+ Task task = new Task(parent, id, queue.name, scheduled, null, 0, null, asList(args));
log.info("Created task = {}", task);
registerSynchronization(new TransactionSynchronizationAdapter() {