/** * Handle the message via {@link #innerHandle(AjahMessage)} and then call handle on child * handlers. * * @see com.ajah.rfcmail.fetch.MessageHandler#handle(AjahMimeMessage) */ @Override public final MessageHandlerResponse handle(final AjahMimeMessage message) throws MessagingException { AjahUtils.requireParam(message, "message"); AjahUtils.requireParam(message.getId(), "message.id"); final MessageHandlerResponse response = innerHandle(message); for (final MessageHandler messageHandler : this.messageHandlers.getList(response.getResult())) { messageHandler.handle(message); } return null; }
@Override public void run() { if (handler != null) { Map<String, Integer> topicMap = new HashMap<String, Integer>(); topicMap.put(topic, new Integer(1)); Map<String, List<KafkaStream<byte[], byte[]>>> streamMap = consumer.createMessageStreams(topicMap); KafkaStream<byte[], byte[]> stream = streamMap.get(topic).get(0); ConsumerIterator<byte[], byte[]> it = stream.iterator(); while (it.hasNext()) { handler.handle(new String(it.next().message())); } } }