Search in sources :

Example 6 with SystemConfig

use of org.apache.samza.config.SystemConfig in project samza by apache.

the class MetricsSnapshotReporterFactory method getProducer.

protected SystemProducer getProducer(String reporterName, Config config, MetricsRegistryMap registry) {
    SystemConfig systemConfig = new SystemConfig(config);
    String systemName = getSystemStream(reporterName, config).getSystem();
    String systemFactoryClassName = systemConfig.getSystemFactory(systemName).orElseThrow(() -> new SamzaException(String.format("Trying to fetch system factory for system %s, which isn't defined in config.", systemName)));
    SystemFactory systemFactory = ReflectionUtil.getObj(systemFactoryClassName, SystemFactory.class);
    LOG.info("Got system factory {}.", systemFactory);
    SystemProducer producer = systemFactory.getProducer(systemName, config, registry);
    LOG.info("Got producer {}.", producer);
    return producer;
}
Also used : SystemConfig(org.apache.samza.config.SystemConfig) SystemFactory(org.apache.samza.system.SystemFactory) SystemProducer(org.apache.samza.system.SystemProducer) SamzaException(org.apache.samza.SamzaException)

Example 7 with SystemConfig

use of org.apache.samza.config.SystemConfig in project samza by apache.

the class MetricsSnapshotReporterFactory method getSerde.

protected Serde<MetricsSnapshot> getSerde(String reporterName, Config config) {
    StreamConfig streamConfig = new StreamConfig(config);
    SystemConfig systemConfig = new SystemConfig(config);
    SystemStream systemStream = getSystemStream(reporterName, config);
    Optional<String> streamSerdeName = streamConfig.getStreamMsgSerde(systemStream);
    Optional<String> systemSerdeName = systemConfig.getSystemMsgSerde(systemStream.getSystem());
    String serdeName = streamSerdeName.orElse(systemSerdeName.orElse(null));
    SerializerConfig serializerConfig = new SerializerConfig(config);
    Serde<MetricsSnapshot> serde;
    if (serdeName != null) {
        Optional<String> serdeFactoryClass = serializerConfig.getSerdeFactoryClass(serdeName);
        if (serdeFactoryClass.isPresent()) {
            SerdeFactory<MetricsSnapshot> serdeFactory = ReflectionUtil.getObj(serdeFactoryClass.get(), SerdeFactory.class);
            serde = serdeFactory.getSerde(serdeName, config);
        } else {
            serde = null;
        }
    } else {
        serde = new MetricsSnapshotSerdeV2();
    }
    LOG.info("Got serde {}.", serde);
    return serde;
}
Also used : SystemConfig(org.apache.samza.config.SystemConfig) SerializerConfig(org.apache.samza.config.SerializerConfig) SystemStream(org.apache.samza.system.SystemStream) StreamConfig(org.apache.samza.config.StreamConfig) MetricsSnapshotSerdeV2(org.apache.samza.serializers.MetricsSnapshotSerdeV2)

Aggregations

SystemConfig (org.apache.samza.config.SystemConfig)7 SystemStream (org.apache.samza.system.SystemStream)5 SamzaException (org.apache.samza.SamzaException)4 JobConfig (org.apache.samza.config.JobConfig)3 StorageConfig (org.apache.samza.config.StorageConfig)3 TaskConfig (org.apache.samza.config.TaskConfig)3 SystemFactory (org.apache.samza.system.SystemFactory)3 List (java.util.List)2 Collectors (java.util.stream.Collectors)2 ConfigException (org.apache.samza.config.ConfigException)2 MetricsConfig (org.apache.samza.config.MetricsConfig)2 SerializerConfig (org.apache.samza.config.SerializerConfig)2 StreamConfig (org.apache.samza.config.StreamConfig)2 MetricsRegistryMap (org.apache.samza.metrics.MetricsRegistryMap)2 StreamSpec (org.apache.samza.system.StreamSpec)2 SystemAdmin (org.apache.samza.system.SystemAdmin)2 Joiner (com.google.common.base.Joiner)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 File (java.io.File)1 IOException (java.io.IOException)1