Added a simple implementation of the polling outbox pattern
[demos/kafka/outbox] / outbox / src / main / java / de / juplo / kafka / outbox / Application.java
diff --git a/outbox/src/main/java/de/juplo/kafka/outbox/Application.java b/outbox/src/main/java/de/juplo/kafka/outbox/Application.java
new file mode 100644 (file)
index 0000000..a63d714
--- /dev/null
@@ -0,0 +1,36 @@
+package de.juplo.kafka.outbox;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+
+import java.util.concurrent.CountDownLatch;
+
+
+@SpringBootApplication
+@EnableConfigurationProperties(ApplicationProperties.class)
+@Slf4j
+public class Application
+{
+  public static void main(String[] args) throws Exception
+  {
+    SpringApplication.run(Application.class, args);
+
+    final CountDownLatch closeLatch = new CountDownLatch(1);
+
+    Runtime
+        .getRuntime()
+        .addShutdownHook(new Thread()
+        {
+          @Override
+          public void run()
+          {
+            log.info("Closing application...");
+            closeLatch.countDown();
+          }
+        });
+
+    closeLatch.await();
+  }
+}