diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-06-04 20:54:56 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-06-04 20:54:56 +0200 |
commit | 7465fdb9aa847d29dacc56adbe473f1c1ceb298e (patch) | |
tree | d04b5c859fc090a57355e7bc0e51a043cddc907b /src/test/java/io/trygvis/test/PlainJavaExample.java | |
parent | 1eeef021c65c85c24d62a0cc1ee4a746a601beb5 (diff) | |
download | quartz-based-queue-7465fdb9aa847d29dacc56adbe473f1c1ceb298e.tar.gz quartz-based-queue-7465fdb9aa847d29dacc56adbe473f1c1ceb298e.tar.bz2 quartz-based-queue-7465fdb9aa847d29dacc56adbe473f1c1ceb298e.tar.xz quartz-based-queue-7465fdb9aa847d29dacc56adbe473f1c1ceb298e.zip |
o Creating a QueueService on top of the DAOs.
Diffstat (limited to 'src/test/java/io/trygvis/test/PlainJavaExample.java')
-rw-r--r-- | src/test/java/io/trygvis/test/PlainJavaExample.java | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/test/java/io/trygvis/test/PlainJavaExample.java b/src/test/java/io/trygvis/test/PlainJavaExample.java new file mode 100644 index 0000000..338abad --- /dev/null +++ b/src/test/java/io/trygvis/test/PlainJavaExample.java @@ -0,0 +1,70 @@ +package io.trygvis.test; + +import io.trygvis.queue.JdbcQueueService; +import io.trygvis.queue.Queue; +import io.trygvis.queue.QueueService; +import io.trygvis.queue.Task; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.util.Date; +import java.util.List; + +import static io.trygvis.queue.JdbcQueueService.createQueueService; +import static io.trygvis.queue.Task.newTask; +import static io.trygvis.test.DbUtil.createDataSource; +import static java.util.Arrays.asList; +import static java.util.Collections.singletonList; + +public class PlainJavaExample { + + private static String inputName = "my-input"; + private static String outputName = "my-output"; + + private static int interval = 10; + + public static class Consumer { + public static void main(String[] args) throws Exception { + System.out.println("Starting consumer"); + + DataSource ds = createDataSource(); + Connection c = ds.getConnection(); + + JdbcQueueService queueService = createQueueService(c); + + final Queue input = queueService.getQueue(c, inputName, interval, true); + final Queue output = queueService.getQueue(c, outputName, interval, true); + + queueService.consume(c, input, new QueueService.TaskEffect() { + public List<Task> consume(Task task) throws Exception { + System.out.println("PlainJavaExample$Consumer.consume"); + Long a = Long.valueOf(task.arguments.get(0)); + Long b = Long.valueOf(task.arguments.get(1)); + + System.out.println("a + b = " + a + " + " + b + " = " + (a + b)); + + return singletonList(newTask(output.name, new Date(), Long.toString(a + b))); + } + }); + + c.commit(); + } + } + + public static class Producer { + public static void main(String[] args) throws Exception { + System.out.println("Starting producer"); + + DataSource ds = createDataSource(); + Connection c = ds.getConnection(); + + JdbcQueueService queueService = createQueueService(c); + + Queue queue = queueService.getQueue(c, inputName, interval, true); + + queueService.schedule(c, queue, new Date(), asList("10", "20")); + + c.commit(); + } + } +} |