Java: objeto a byte y byte a convertidor de objeto (para el gabinete de Tokio)

Necesito convertir objetos en un byte [] para almacenarlos en el almacén de valores-clave del gabinete de Tokio. También necesito desvincular el byte [] de un Objeto al leer desde el almacén de clave-valor.

¿Hay algún paquete por ahí que me ayude con esta tarea? ¿O sería la mejor solución para implementarlo yo mismo?

public static byte[] serialize(Object obj) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(out); os.writeObject(obj); return out.toByteArray(); } public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException { ByteArrayInputStream in = new ByteArrayInputStream(data); ObjectInputStream is = new ObjectInputStream(in); return is.readObject(); } 

Si su clase se extiende a Serializable , puede escribir y leer objetos a través de ByteArrayOutputStream , eso es lo que suelo hacer.

Use serialize y deserialize métodos en SerializationUtils de commons-lang .

Puede ver cómo Hector hace esto para Cassandra, donde el objective es el mismo: convertir todo en y desde byte[] para almacenar / recuperar desde una base de datos NoSQL. Consulte aquí . Para los tipos primitivos (+ String), existen Serializadores especiales, de lo contrario, está el ObjectSerializer genérico (esperando Serializable y utilizando ObjectOutputStream ). Por supuesto, puede usarlo solo para todo, pero puede haber metadatos redundantes en forma serializada.

Supongo que puedes copiar todo el paquete y hacer uso de él.