package com.jointhegrid.ironcount.classloader;
import com.jointhegrid.ironcount.manager.Workload;
import com.jointhegrid.ironcount.manager.MessageHandler;
import com.jointhegrid.ironcount.manager.WorkerThread;
import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicInteger;
import kafka.message.Message;
import kafka.message.MessageAndMetadata;
public class SerializedHandler implements MessageHandler {
public static AtomicInteger messageCount;
public static AtomicInteger handlerCount;
public int myId;
static {
messageCount = new AtomicInteger(0);
handlerCount = new AtomicInteger(0);
}
public SerializedHandler() {
myId = handlerCount.addAndGet(1);
}
@Override
public void handleMessage(MessageAndMetadata<Message> m) {
messageCount.addAndGet(1);
System.out.println("handlerId:" + myId + " message:" + getMessage(m.message()));
}
@Override
public void setWorkload(Workload w) {
}
@Override
public void setWorkerThread(WorkerThread wt) {
}
@Override
public void stop() {
}
public static String getMessage(Message message) {
ByteBuffer buffer = message.payload();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
return new String(bytes);
}
}