aboutsummaryrefslogtreecommitdiffstats
path: root/src/chameleon/event.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/chameleon/event.clj')
-rw-r--r--src/chameleon/event.clj18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/chameleon/event.clj b/src/chameleon/event.clj
new file mode 100644
index 0000000..8201acb
--- /dev/null
+++ b/src/chameleon/event.clj
@@ -0,0 +1,18 @@
+(ns chameleon.event
+ (:require [chameleon.txform]
+ [chameleon.route]
+ [integrant.core :as ig])
+ (:import [org.onap.aai.event.client DMaaPEventConsumer]))
+
+(defmethod ig/init-key :chameleon/event
+ [_ {:keys [event-config gallifrey-host]}]
+ (let [{:keys [host topic motsid pass consumer-group consumer-id timeout batch-size type processor]} (:aai event-config)
+ event-processor (DMaaPEventConsumer. host topic motsid pass consumer-group consumer-id timeout batch-size type)]
+ (println "Event processor for AAI created. Starting event polling on " host topic)
+ (.start (Thread. (fn [] (while true
+ (let [it (.iterator (.consume event-processor))]
+ (println "Polling...")
+ (while (.hasNext it)
+ (let [event (.next it)]
+ (processor gallifrey-host event))))))))
+ ))