在 Spring 集成中通过 Rest 响应过滤消息

Filter messages through a Rest response in Spring Integration

我是 Spring 集成的新手

上下文

我们有一个 CTI 系统(CSTA 服务器,呼叫中心 Web 应用程序) 我必须检查代理是否登录到我们的联络中心(通过 Restful API)并转发来自登录代理的每个 CSTA 服务器(webSocket)事件。

我能够从 CSTA 服务器异步获取所有事件 (tcp-connection-factory / tcp-inbound-channel-adapter) 并在必要时转换它们(例如 JSON)。

该事件具有唯一的代理标识符,我可以使用它来检查我们的 API 代理是否已登录,然后将消息发送到端点。 我不想发送来自 Rest 服务的回复,而是我想发送作为登录代理的每个 csta 事件。

我能够使用来自 Rest 服务的 http 出站网关。我如何根据从 http 出站网关获得的回复来丰富消息或过滤器?

简而言之:我想过滤(取决于休息服务的回复)来自 websocket 的每条消息并将其分派到另一个端点。

是否有任何 git 示例可供我查看?

谢谢!

看起来您需要一个 Router 模式来满足您的目的:

<int:router input-channel="input" ref="myRouter" method="route"/>

并且here你可以找到一个咖啡厅样品。