From baecf489bde6d64251a1a7547192b09d36163224 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 26 Aug 2019 18:02:40 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B3=D1=80=D1=83=D0=BF?= =?UTF-8?q?=D0=BF=20kafka?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/dmitriymx/minecraft/globalchat/MainPlugin.java | 3 +++ .../dmitriymx/minecraft/globalchat/mq/KafkaService.java | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/dmitriymx/minecraft/globalchat/MainPlugin.java b/src/main/java/ru/dmitriymx/minecraft/globalchat/MainPlugin.java index a5822ec..75411c8 100644 --- a/src/main/java/ru/dmitriymx/minecraft/globalchat/MainPlugin.java +++ b/src/main/java/ru/dmitriymx/minecraft/globalchat/MainPlugin.java @@ -21,8 +21,11 @@ public class MainPlugin extends JavaPlugin { } private void initKafkaService() { + ClassLoader originalContext = Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(null); //FIXME перенести в конфигурацию service = new KafkaService("127.0.0.1:9092", "global-chat", 1000); + Thread.currentThread().setContextClassLoader(originalContext); mqThread = new Thread(() -> { while (!Thread.currentThread().isInterrupted()) { diff --git a/src/main/java/ru/dmitriymx/minecraft/globalchat/mq/KafkaService.java b/src/main/java/ru/dmitriymx/minecraft/globalchat/mq/KafkaService.java index b89a30b..a04a9ac 100644 --- a/src/main/java/ru/dmitriymx/minecraft/globalchat/mq/KafkaService.java +++ b/src/main/java/ru/dmitriymx/minecraft/globalchat/mq/KafkaService.java @@ -62,19 +62,23 @@ public class KafkaService { } }); + consumer.commitAsync(); + return list; } public void shutdown() { + producer.close(); producer = null; - consumer.unsubscribe(); + + consumer.close(); consumer = null; } private Consumer createConsumer() { final Properties props = new Properties(); props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, hosts); - props.put(ConsumerConfig.GROUP_ID_CONFIG, "DefaultGroup"); + props.put(ConsumerConfig.GROUP_ID_CONFIG, "WithoutGroup." + UUID.randomUUID().toString()); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, LongDeserializer.class.getName()); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());