Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.datis.irc.kryo; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.io.Input; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Map; import org.apache.kafka.common.errors.SerializationException; import org.apache.kafka.common.serialization.Deserializer; /** * * @author jeus */ public class KryoDesrializer<T> implements Deserializer<T> { private ObjectMapper objectMapper = new ObjectMapper(); private Class<T> tClass; @Override public void configure(Map<String, ?> props, boolean arg1) { tClass = (Class<T>) props.get("Kryo"); } @Override public T deserialize(String topic, byte[] bytes) { if (bytes == null) { return null; } T data; try { Kryo kryo = new Kryo(); Input input = new Input(bytes); data = kryo.readObject(input, tClass); input.close(); } catch (Exception e) { throw new SerializationException(e); } return data; } @Override public void close() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }