我想让我的spring集成流通用于通过网关发送的不同类型的请求,我想拥有重载方法,并想为通过网关发送的特定消息调用特定的重载方法。
flow.handle(validatorService, "validateRequest")
类似于上面的代码,在validatorService中,我有几个重载方法来满足这个流中的不同请求。但是,如果在有效载荷的同时,我想向一个方法发送另一个参数,该怎么办。那我该怎么做呢。
@Configuration
public class IntegrationConfiguration {
@Autowired LionsServiceImpl lionsService;
long dbId = new SequenceGenerator().nextId();
// Main flow
@Bean
public IntegrationFlow flow() {
return flow ->
flow.handle(validatorService, "validateRequest")
.split()
.channel(c -> c.executor(Executors.newCachedThreadPool()))
.scatterGather(
scatterer ->
scatterer
.applySequence(true)
.recipientFlow(flow1())
.recipientFlow(flow2())
.recipientFlow(flow3()),
gatherer ->
gatherer
.releaseLockBeforeSend(true)
.releaseStrategy(group -> group.size() == 2))
.aggregate(prepareSomeRequest())
.to(getDec());
}
//网关
@Gateway(requestChannel = "flow.input")
void processLionRequest(
@Payload Message lionRequest, @Header("sourceSystem") SourceSystem sourceSystem);
因此,如果你在<代码>流中看到。handle(validatorService,“validateRequest”)我们有一个validatorService类,它接受LionRequest、CatRequest并动态调用重载方法。同样,我重载了方法,它接受2个参数,一个是LionRequest或CatRequest,另一个是来自头或某个变量的值。
我的重载方法如下所示-
public LionRequest save(LionRequest lionreq, String dbID){}
public CatRequest save(CatRequest catReq, String dbID){}..
这样到网关,我可以传递LionRequest或CatRequest,我只需要从一个类调用保存方法,并且应该动态调用LionRequest/CatRequest重载方法。
请建议。一个示例代码会有所帮助
我们需要理解“另一个论点”是什么,但如果你只谈论一条消息,那么可能是这样的:
Foo validateRequest(Foo payload, @Header("fooHeader") String fooHeader)
Bar validateRequest(Bar payload, @Header("barHeader") String barHeader)
查看文档中的更多信息:https://docs.spring.io/spring-integration/docs/current/reference/html/configuration.html#annotations
流定义中句柄()的引用与问题中的引用完全相同。
目前在我们的项目中,我们正在使用spring框架。由于一些项目需求,我们计划在我们的项目中实现Spring集成框架。 我打算抛出Spring集成示例(Spring集成Rest HTTP路径使用演示)应用程序 下面是应用程序Context-http-int.xml文件 根据我的理解,流程就像当输入通道中有消息时,员工搜索服务将被激活。但是根据我们的项目要求,我们需要在运行时根据一些头值激活服务,比如
虽然知道使用反射不是一种好的测试方法,但我正在尝试测试我的代码。我有一个外部类作为public,有一个私有的内部类和一个公共方法,如下所示, 我的主要java类如下所示 这是投掷 线程“main”java中出现异常。lang.NoSuchMethodException:汽车。外部$内部。java上的test()。lang.Class。car上的getDeclaredMethod(Class.jav
我正在尝试为创建网球锦标赛的应用程序填充队列 当我单击按钮“Crear Torneo”(如图所示)时,我正在方法“crearTorneo”中创建队列。当我点击“Añadir”按钮(也可以在图像中看到)时,它会获取几个TextFields中的信息并在“llenarCola”方法中创建一个对象,返回该对象的目的是填充队列。 现在,这是我的llenarCola方法: 这是我的crearTorneo方法:
问题内容: 我想验证以下行为的方法如下。 在我的@Test类中,我希望做这样的事情来验证是否使用“ exception.message”和再次使用“ exception.detail”进行了调用 但是Mockito抱怨如下 我如何告诉Mockito检查两个值? 问题答案: 进一步的阅读使我尝试使用ArgumentCaptors和以下作品,尽管比我想要的更为冗长。
我试图实现的是重写此方法: 公共布尔onKeyPreIme(int-keyCode,KeyEvent事件) 该方法位于SearchView中。搜索自动完成类http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.0_r1/android/support/v7/widget/Se
我有一个CustomRequest类: } 然后我有我的类JSONRequest: } 我想做的是在我的postRequest方法中,有一个CustomRequest类的对象叫做JSONObject Request,我想将JSONObject响应变量从onResponse方法返回给父postRequest方法,我在以下位置得到一个错误: 因为它告诉我方法的返回类型是void,请告诉我我做错了什么,