Prechádzať zdrojové kódy

added support for wait-after-record

Grega Bremec 8 mesiacov pred
rodič
commit
d2549d389a

+ 7 - 1
code/core-api-consumer/src/main/java/com/redhat/training/kafka/coreapi/consumer/Consumer.java

@@ -77,6 +77,7 @@ public class Consumer {
         // the remaining configurations
         String topic = ConfigProvider.getConfig().getOptionalValue("consumer.topic", String.class).orElse("test-topic");
         int pollPeriod = ConfigProvider.getConfig().getOptionalValue("consumer.poll-period", Integer.class).orElse(1000);
+        int waitAfterRecord = ConfigProvider.getConfig().getOptionalValue("consumer.wait-after-record", Integer.class).orElse(0);
         int waitAfterRecv = ConfigProvider.getConfig().getOptionalValue("consumer.wait-after-recv", Integer.class).orElse(0);
         int waitPeriod = ConfigProvider.getConfig().getOptionalValue("consumer.wait-period", Integer.class).orElse(5000);
         int localId = ConfigProvider.getConfig().getOptionalValue("consumer.local-id", Integer.class).orElse(-1);
@@ -145,7 +146,12 @@ public class Consumer {
                     LOG.info("Seen {} records, committing offsets as ackEveryNum == {}", recsSeen, ackEveryNum);
                     kc.commitSync();
                 }
-            }
+                try {
+                    Thread.sleep(waitAfterRecord);
+                } catch (InterruptedException ie) {
+                    LOG.warn("Interrupted in sleep-after-record: " + ie.getMessage());
+                }
+                }
             if (exitRequest) {
                 break;
             }

+ 1 - 0
code/core-api-consumer/src/main/resources/META-INF/microprofile-config.properties

@@ -22,6 +22,7 @@ ssl.truststore.password = FIXME
 # consumer.topic =                          # test-topic
 # consumer.poll-period =                    # 1000
 # consumer.wait-after-recv =                # 0
+# consumer.wait-after-record =              # 0
 # consumer.wait-period =                    # 5000
 # consumer.ack-every-x-msgs =               # 0
 # consumer.local-id =                       # -1 (for log file only)