使用网关从 Spring 集成应用程序使用 Spring 启动应用程序



我刚刚开始与Spring Boot 2进行Spring Integration。

我正在开发一个应用程序,该应用程序使用Spring Integration的HTTP出站网关来使用Spring启动服务。

我正在使用网关从 Spring 集成应用程序使用弹簧引导服务。

当我调用 Gateway 方法时,该方法又将使用出站网关调用 spring 启动服务,请求似乎没有完成。当我通过浏览器发出HTTP GET请求时,它就会发生。

Spring 引导服务也不会收到该请求。

在使用网关使用 Spring Boot 2 服务时,我无法确定集成应用程序中的问题。

我已经共享了我的 Spring Boot 2 应用程序以及我用来在下面的 github 文件夹中使用它的集成应用程序。 它包含 2 个文件夹,一个用于 Spring 集成应用程序,另一个用于 Spring 启动应用程序。 https://github.com/gsamartian/spring-int-demos

我已经公开了一个使用 RestController 的集成应用程序的 REST 接口。

我通过 url 从集成应用程序访问启动应用程序,http://localhost:8763/callExternalServiceViaGateway

我能够直接从其端口访问 Spring 启动应用程序。

如果有人能帮助我确定原因,那就太好了。

谢谢

您的网关方法没有任何参数的问题:

@Gateway(requestChannel = "get.request.channel", replyChannel = "reply.channel")
String getCustomMessage();

在这种情况下,网关用作接收。不发送任何请求,因为没有任何东西要包装到payload。有关此事的更多信息,请参阅参考手册。

现在我看到payloadExpression和没有arg的几个错误,所以我建议你在getCustomMessage()网关方法中添加一些String payloadarg并使用空字符串执行它。

将查看错误并尽快修复它们。

感谢您提供如何捕捉和繁殖的好样本!

https://jira.spring.io/browse/INT-4448

https://jira.spring.io/browse/INT-4449

最新更新