@SuppressWarnings({"unchecked", "rawtypes"}) static void addStormConfigToTopology(FlinkTopology topology, Map conf) throws ClassNotFoundException { if (conf != null) { ExecutionConfig flinkConfig = topology.getExecutionEnvironment().getConfig(); flinkConfig.setGlobalJobParameters(new StormConfig(conf)); // add all registered types to ExecutionConfig List<?> registeredClasses = (List<?>) conf.get(Config.TOPOLOGY_KRYO_REGISTER); if (registeredClasses != null) { for (Object klass : registeredClasses) { if (klass instanceof String) { flinkConfig.registerKryoType(Class.forName((String) klass)); } else { for (Entry<String, String> register : ((Map<String, String>) klass).entrySet()) { flinkConfig.registerTypeWithKryoSerializer( Class.forName(register.getKey()), (Class<? extends Serializer<?>>) Class.forName(register.getValue())); } } } } } }