当前位置: 首页 > 知识库问答 >
问题:

如何使用spring integration TCP出站网关首先处理read()

龚伯寅
2023-03-14

我正在实现一个tcp客户端,它将向服务器发送请求并期望响应。但是当客户端第一次连接到服务器时,服务器会发送一个hello msg,通过tcp出站网关,它期望发送然后接收。我怎么做接收(只有当第一次连接)然后做我通常的发送和接收逻辑?如果我需要保持连接存活,有没有办法通过某个调度任务将keep alive msg发送到相同的连接?

共有1个答案

哈雅珺
2023-03-14

不使用网关,而是使用协作通道适配器进行完全异步操作。

还可以使用协作适配器(服务器端或客户端)进行完全异步通信(而不是使用请求/应答语义)。

您可以使用操作系统保留ALIVE(SO_KEEPALIVE)。或者,您可以使用轮询的入站通道适配器滚动您自己的应用程序级保留alives...

<int:inbound-channel-adapter channel="toTcp" expression="'foo'">
    <int:poller fixed-delay="60000" />
</int:inbound-channel-adapter>
 类似资料:
  • 我想从batch tasklet中调用sftp:outbound gateway,以便从sftp服务器下载文件。我看过其他与这个主题相关的帖子,但我不确定我做错了什么。有人能根据我的配置给我一个提示吗?我的批处理工作正常,所以问题只是在批处理步骤中调用sftp组件。我用注释标记了Spring集成部分,这样就更容易阅读相关配置。 我可以在日志中看到:调试[o.s.I.e.SourcePollingC

  • 问题内容: 首先,我认为值得一提,我知道有很多类似的问题,但是没有一个对我有用。 我是Python,html和网络抓取工具的新手。我正在尝试从需要先登录的网站上抓取用户信息。在我的测试中,我以来自github的scraper我的电子邮件设置为例。主页是“ https://github.com/login ”,目标页面是“ https://github.com/settings/emails ” 这

  • 我有一个http出站网关,它将json消息发布到rest服务,现在rest将以json消息类型的http错误状态响应,以防我们的应用程序捕获任何错误。在将json消息发布到rest服务并获得http成功状态的愉快场景中,我们的应用程序也应该捕获json消息。 现在我通过Spring集成实现了什么,我能够发送消息并获得成功响应并捕获它,但在错误状态下Spring行为会抛出异常,我如何更改行为? 如果

  • 我试图理解在Spring集成中应该如何处理错误。我找到了关于的文档,我试图使用它,但没有捕获异常。 下面是我的HTTP出站网关: 我不明白应该在哪里捕捉这个组件引发的异常(比如500 HTTP错误) 路由由启动。我尝试添加属性: 我尝试使用自定义错误通道。我还尝试重写现有的ErrorChannel:

  • 我有一个这样的集成流程:

  • 我是Spring integration SFTP的新手。现在,我想从多个目录下载文件。那么SFTP出站网关似乎是我的首选,但我只找到了使用XML config的示例。如何使用Java config来实现这一点呢?我的配置类: 但当我启动应用程序时,什么也没发生,哪里出了问题? ---更新---我的测试类