@Override public void shutdown() { running = false; for (KafkaProducer p : producersPool) { p.close(); } }
@Override public void removeThreadLocal() { KafkaProducer producer = threadLocalProducers.get(); if (producer != null) { producer.close(); threadLocalProducers.remove(); } }
@Override public void process(Object data) { KafkaProducer producer = getThreadLocalProducer(); if (messageHandler != null) { IKafkaEvent<K, V> event = messageHandler.handle(data); if (event != null) producer.send(topic, event); } else if (data instanceof IKafkaEvent) { @SuppressWarnings("unchecked") IKafkaEvent<K, V> event = (IKafkaEvent<K, V>) data; producer.send(topic, event); } else { throw new QiaoOperationException("Unable to process data => " + data.toString()); } }
public void start() throws IOException { KafkaProducer kafkaProducer = new KafkaProducer(); Producer<Integer, byte[]> producer = kafkaProducer.GetProducer(); Map<String, byte[]> hashMap = new HashMap<String, byte[]>(); byte[] staticPayload = new byte[100]; Arrays.fill(staticPayload, (byte) 0); hashMap.put("word", staticPayload); for (long i = 0; i < amountOfNumbers; i++) { KeyedMessage<Integer, byte[]> keyedMessage = new KeyedMessage<Integer, byte[]>(topicName, convert.toByteFrom(hashMap)); producer.send(keyedMessage); } producer.close(); }
@Override public void run() { for (; ; ) { try { Span first = queue.take(); KafkaProducer.getInstance().send(first); } catch (Exception e) { e.printStackTrace(); } } }