@Override public void writeTo(MessageContainer message) { long key = msgId++; if (!keyTopicMap.isEmpty()) { try { Map<String, Object> msgMap = message.getEntity(new TypeReference<Map<String, Object>>() {}); Object keyField = msgMap.get(keyTopicMap.get(message.getRoutingKey())); if (keyField != null) { key = keyField.hashCode(); } } catch (Exception e) { QueuedSink.log.error("Exception on getting key field: " + e.getMessage()); } } QueuedSink.log.trace( "KafkaSink writeTo()" ); receivedCount.incrementAndGet(); enqueue(new SuroKeyedMessage(key, message.getMessage())); }
initialize( "kafka_" + clientId, queue4Sink == null ? new MemoryQueue4Sink(10000) : queue4Sink,