private Map<String, Serde<Object>> getSerdes() { Map<String, Serde<Object>> serdeMap = new HashMap<>(); SerializerConfig serializerConfig = new SerializerConfig(jobConfig); // Adding all serdes from factories ScalaJavaUtil.toJavaCollection(serializerConfig.getSerdeNames()) .stream() .forEach(serdeName -> { Option<String> serdeClassName = serializerConfig.getSerdeClass(serdeName); if (serdeClassName.isEmpty()) { serdeClassName = Option.apply(SerializerConfig.getSerdeFactoryName(serdeName)); } Serde serde = Util.getObj(serdeClassName.get(), SerdeFactory.class).getSerde(serdeName, serializerConfig); serdeMap.put(serdeName, serde); }); return serdeMap; }
/** * A helper method to get the Serde from the serdeName * * @param name serde name * @param serializerConfig serializer config * @return a Serde of this serde name */ private Serde<Object> getSerdeFromName(String name, JavaSerializerConfig serializerConfig) { String serdeClassName = serializerConfig.getSerdeClass(name); if (serdeClassName == null) { serdeClassName = SerializerConfig$.MODULE$.getSerdeFactoryName(name); } return Util.getObj(serdeClassName, SerdeFactory.class).getSerde(name, serializerConfig); } }
/** * A helper method to get the Serde from the serdeName * * @param name serde name * @param serializerConfig serializer config * @return a Serde of this serde name */ private Serde<Object> getSerdeFromName(String name, JavaSerializerConfig serializerConfig) { String serdeClassName = serializerConfig.getSerdeClass(name); if (serdeClassName == null) { serdeClassName = SerializerConfig$.MODULE$.getSerdeFactoryName(name); } return Util.getObj(serdeClassName, SerdeFactory.class).getSerde(name, serializerConfig); } }
/** * A helper method to get the Serde from the serdeName * * @param name serde name * @param serializerConfig serializer config * @return a Serde of this serde name */ private Serde<Object> getSerdeFromName(String name, JavaSerializerConfig serializerConfig) { String serdeClassName = serializerConfig.getSerdeClass(name); if (serdeClassName == null) { serdeClassName = SerializerConfig$.MODULE$.getSerdeFactoryName(name); } return Util.getObj(serdeClassName, SerdeFactory.class).getSerde(name, serializerConfig); } }
/** * set the serde for this appender. It looks for the stream serde first, then system serde. * If still can not get the serde, throws exceptions. * * @param log4jSystemConfig log4jSystemConfig for this appender * @param systemName name of the system * @param streamName name of the stream */ private void setSerde(Log4jSystemConfig log4jSystemConfig, String systemName, String streamName) { String serdeClass = LoggingEventJsonSerdeFactory.class.getCanonicalName(); String serdeName = log4jSystemConfig.getStreamSerdeName(systemName, streamName); if (serdeName != null) { serdeClass = log4jSystemConfig.getSerdeClass(serdeName); } if (serdeClass != null) { SerdeFactory<LoggingEvent> serdeFactory = Util.getObj(serdeClass, SerdeFactory.class); serde = serdeFactory.getSerde(systemName, config); } else { String serdeKey = String.format(SerializerConfig.SERDE_FACTORY_CLASS(), serdeName); throw new SamzaException("Can not find serializers class for key '" + serdeName + "'. Please specify " + serdeKey + " property"); } }
/** * set the serde for this appender. It looks for the stream serde first, then system serde. * If still can not get the serde, throws exceptions. * * @param log4jSystemConfig log4jSystemConfig for this appender * @param systemName name of the system * @param streamName name of the stream */ private void setSerde(Log4jSystemConfig log4jSystemConfig, String systemName, String streamName) { String serdeClass = LoggingEventJsonSerdeFactory.class.getCanonicalName(); String serdeName = log4jSystemConfig.getStreamSerdeName(systemName, streamName); if (serdeName != null) { serdeClass = log4jSystemConfig.getSerdeClass(serdeName); } if (serdeClass != null) { SerdeFactory<LogEvent> serdeFactory = Util.getObj(serdeClass, SerdeFactory.class); serde = serdeFactory.getSerde(systemName, config); } else { String serdeKey = String.format(SerializerConfig.SERDE_FACTORY_CLASS(), serdeName); throw new SamzaException("Can not find serializers class for key '" + serdeName + "'. Please specify " + serdeKey + " property"); } }