मैं 0.10.2 संस्करण का उपयोग कर रहा हूं। मैं जानना चाहता हूं कि क्या कोई काफ्का जावा एपीआई ऑफ़सेट जानकारी का उपयोग कर सकता है:

./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.0.28:9092 --describe --group test

चूंकि मैं सीएलआई का उपयोग किए बिना अपने आवेदन में यह सारी ऑफसेट जानकारी दिखाना चाहता हूं।

3
FeeLGooD 2 अप्रैल 2017, 08:54

1 उत्तर

सबसे बढ़िया उत्तर

मुझे नहीं लगता कि जावा क्लाइंट में समकक्ष है; मैंने अभी-अभी उस स्क्रिप्ट को देखा और यह एक स्केल क्लास ConsumerGroupCommand कहती है।

मैं स्कैला से परिचित नहीं हूं, लेकिन ऐसा लगता है कि वह वर्ग आंतरिक कक्षाओं (ई, जी, ZkConsumerGroupService) का खुलासा नहीं करता है जो कमांड को लागू करता है, इसलिए ऐसा नहीं लगता कि इसे उपयोगकर्ता ऐप से बुलाया जा सकता है .

ऐसा लगता है कि यह परिणामों के साथ किसी ऑब्जेक्ट को बनाने के बजाय, वैसे भी सीधे stdout पर लिखता है।

मुझे लगता है कि आप इसे चला सकते हैं और stdout पर कब्जा कर सकते हैं ...

ConsumerGroupCommand.main(new String[] {"--bootstrap-server", "localhost:9092", 
            "--describe",
            "--group", "test"});

या, आपको उस वर्ग से कोड का एक गुच्छा उठाना होगा।

2
Gary Russell 2 अप्रैल 2017, 17:29