在服务激活器中选择重载方法(Spring 集成)
choose overloaded method in service activator (Spring Integration)
我定义了一个 serviceActivator :
<integration:service-activator input-channel="sampleChannel"
ref="sampleImpl" method="remove"/>
在SampleImpl中,重载了两个remove方法:
public Object remove(Object payload) {
//some code ...
return payload;
}
public void remove() {
//some code ...
}
在方法 属性 中,我想选择不带参数的删除方法 ( remove() )。在某些情况下,我想选择带参数的删除方法( remove(Object payload) )。我发现总是将 payload 作为参数传递给 remove 方法,那么我怎么才能只选择 remove() 呢?
使用 XML DSL 是不可能的。您必须重命名其中之一或编写包装服务。这类似于 Java Beans 中的 setter 选择。所以,如果你想要不同的 setter 有不同的逻辑,你可以用不同的词来命名它们。
我定义了一个 serviceActivator :
<integration:service-activator input-channel="sampleChannel"
ref="sampleImpl" method="remove"/>
在SampleImpl中,重载了两个remove方法:
public Object remove(Object payload) {
//some code ...
return payload;
}
public void remove() {
//some code ...
}
在方法 属性 中,我想选择不带参数的删除方法 ( remove() )。在某些情况下,我想选择带参数的删除方法( remove(Object payload) )。我发现总是将 payload 作为参数传递给 remove 方法,那么我怎么才能只选择 remove() 呢?
使用 XML DSL 是不可能的。您必须重命名其中之一或编写包装服务。这类似于 Java Beans 中的 setter 选择。所以,如果你想要不同的 setter 有不同的逻辑,你可以用不同的词来命名它们。