Я не мог придумать аккуратного и исчерпывающего названия для моей проблемы.Поэтому я постараюсь быть максимально понятным.В xml весенней конфигурации интеграции у меня есть все bean-компоненты (классы), которые нужно внедрить, когда Менеджеру конверсий нужно создать экземпляр для преобразования.На самом деле у меня есть два класса преобразования:
class MyClass implements Converter<ConversionSourceWrapper<FromTypeClass>, ToTypeClass>
и
class AnotherClass implements Converter<ConversionSourceWrapper<FromAnotherTypeClass>, ToTypeClass> {
, где ToTypeClass - один и тот же класс.Когда я прихожу к вызову первого, Spring вместо этого создает экземпляр второго, потому что он распознает только один из них, являющийся конвертером одного типа, с разным только T (ConversionSourceWrapper ).
IЯ пытался создать абстрактный класс, чтобы расширить класс преобразователя, но это не рабочий обходной путь.Не могу придумать другого решения.Любой совет?
РЕДАКТИРОВАНИЕ Я решил это, создав класс TypeClassSourceWarapper, который расширяет ConversionSourceWrapper.Таким образом, код становится следующим:
class MyClass implements Converter<TypeClassSourceWarapper, ToTypeClass>
При этом ConversionManager видит другой тип конвертера и теперь знает, какой использовать.