Выбрать перегруженный метод в активаторе сервиса (Spring Integration)

Я определил serviceActivator:

<integration:service-activator input-channel="sampleChannel" 
ref="sampleImpl" method="remove"/>

В SampleImpl есть два перегруженных метода удаления:

 public Object remove(Object payload) {
    //some code ...
    return payload;
}

 public void remove() {
  //some code ...
}

В свойстве метода я хочу выбрать метод удаления без аргумента ( remove()). и в некотором сценарии я хочу выбрать метод удаления с аргументом (удаление (полезная нагрузка объекта)). Я нашел всегда передавать полезную нагрузку в качестве аргумента для удаления метода, так как я могу выбрать только удалить ()?

1 ответ

Решение

Это невозможно с XML DSL. Вы должны переименовать один из них или написать сервисы-оболочки. Это похоже на выбор сеттера в Java Beans. Таким образом, если вы хотите использовать разную логику с разными установщиками, вы должны называть их разными словами.

Другие вопросы по тегам