Вы должны использовать промежуточный тип сырья. Вот пример преобразования Object
в String
. Обратное преобразование будет выглядеть идентично.
static ConcurrentKafkaListenerContainerFactory<Object, Object> stringFactoryToObjectFactory(
ConcurrentKafkaListenerContainerFactory<String, String> stringFactory) {
@SuppressWarnings("rawtypes")
ConcurrentKafkaListenerContainerFactory rawTypeFactory = stringFactory;
@SuppressWarnings("unchecked")
ConcurrentKafkaListenerContainerFactory<Object, Object> objectFactory = rawTypeFactory;
return objectFactory;
}
Конечно, это нарушает безопасность типов и ClassCastException
произойдет во время выполнения, если эти фабрики будут использовать разные типы.