public class AvroSerializerUtil extends Object
Modifier and Type | Field and Description |
---|---|
static ThreadLocal<org.apache.avro.io.BinaryDecoder> |
decoders |
static ThreadLocal<org.apache.avro.io.BinaryEncoder> |
encoders |
static ConcurrentHashMap<String,org.apache.avro.specific.SpecificDatumReader<?>> |
readerMap |
static ConcurrentHashMap<String,org.apache.avro.specific.SpecificDatumWriter<?>> |
writerMap
Create a
ConcurrentHashMap for the
datum readers and writers. |
Constructor and Description |
---|
AvroSerializerUtil() |
Modifier and Type | Method and Description |
---|---|
static Object |
deserializer(Object value,
org.apache.avro.Schema schema) |
static <T> byte[] |
serializer(T value,
org.apache.avro.Schema schema) |
public static final ThreadLocal<org.apache.avro.io.BinaryEncoder> encoders
public static final ThreadLocal<org.apache.avro.io.BinaryDecoder> decoders
public static final ConcurrentHashMap<String,org.apache.avro.specific.SpecificDatumWriter<?>> writerMap
ConcurrentHashMap
for the
datum readers and writers.
This is necessary because they are not thread safe, at least not before
Avro 1.4.0 (See AVRO-650).
When they are thread safe, it is possible to maintain a single reader and
writer pair for every schema, instead of one for every thread.public static final ConcurrentHashMap<String,org.apache.avro.specific.SpecificDatumReader<?>> readerMap
public static <T> byte[] serializer(T value, org.apache.avro.Schema schema) throws IOException
IOException
public static Object deserializer(Object value, org.apache.avro.Schema schema) throws IOException
IOException
Copyright © 2010-2014 The Apache Software Foundation. All Rights Reserved.