* Initializes the serializer for flume events.
* @param eventSerializerType
*/
private void initializeSerializer(final Context context,final String eventSerializerType) {
EventSerializers eventSerializer = null;
try {
eventSerializer = EventSerializers.valueOf(eventSerializerType.toUpperCase());
} catch(IllegalArgumentException iae) {
logger.error("An invalid eventSerializer {} was passed. Please specify one of {} ",eventSerializerType,
Joiner.on(",").skipNulls().join(EventSerializers.values()));
Throwables.propagate(iae);
}
final Context serializerContext = new Context();
serializerContext.putAll(context.getSubProperties(FlumeConstants.CONFIG_SERIALIZER_PREFIX));
copyPropertiesToSerializerContext(context,serializerContext);
try {
@SuppressWarnings("unchecked")
Class<? extends EventSerializer> clazz = (Class<? extends EventSerializer>) Class.forName(eventSerializer.getClassName());
serializer = clazz.newInstance();
serializer.configure(serializerContext);
} catch (Exception e) {
logger.error("Could not instantiate event serializer." , e);