接收套接字请求,通过各个端点,并使用骆驼中的netty响应回相同的套接字连接

用户名

我当前在自定义骆驼组件中使用netty来监听套接字(使用带有netty通道处理程序的使用者),将消息从套接字传递到多个骆驼端点,并最终在平面文件中写出最终结果。

这可以正常工作,但显然仅限于“仅”功能。

我想做的是,而不是将最终结果写入平面文件,而是通过套接字将最终结果发送回请求者。

像这样的东西不起作用..伪代码:

<route>
  <from:netty:tcp://localhost:1111/>
  <to:endpoint1/>
</route>
<route>
  <from:endpoint1 />
  <to:netty:tcp://localhost:1111 />
</route>

我怀疑正在发生的事情是我对

<to:netty:tcp://localhost:1111 /> 

导致NettyProducer尝试在localhost:1111上建立与服务器的新连接,该服务器不存在,因为它是套接字客户端。而不是神奇地使用我希望它打开的消费者渠道。这仅仅是设置适当的uri选项的问题,还是不可能?

这是问题的高级描述。这是一些有关我的假设的更多详细信息,如果上述内容不够清楚,我会想要些什么。

据我了解,camel-netty有一个NettyConsumer,它创建一个套接字服务器,该服务器将监听套接字。另外,它还有一个NettyProducer,它创建一个套接字客户端,该客户端将写入套接字。

我的问题是:是否可以将NettyConsumer和NettyProducer配置为使用相同的套接字/通道?我假设为了使这种可能性成为可能,需要在端点级别上共享连接的网络管道/通道/或某些可了解的组件,因为这对消费者和生产者都是通用的。

我已经阅读了有关同步请求-响应的文档,但是我相信这仅适用于您拥有使用交换体并将其通过交换发回的单个处理器的情况。

我不太好的临时解决方案:

因此,我实际上已经完成了该工作,但是我不喜欢它。这是我所做的:

  • 创建/扩展一个SimpleChannelHandler,它简单地阻止/轮询目标文件
  • 将此处理程序添加为服务器管道中的最后一个处理程序
  • 一旦我的其他端点进程完成并创建了文件,轮询处理程序就会拉出文件的内容,并将其内容写入下游并关闭通道。
  • 响应最终返回到原始套接字客户端。

我使用普通套接字客户端对此进行了测试,并且可以正常工作。即使这行得通,但感觉上有点像骇客,我宁愿配置骆驼生产者将响应发送回客户端。

此时,我需要知道是否可以执行此操作,或者是否需要为自己编写更个性化的内容。唯一的要求是骆驼和套接字io,如果netty无法做到这一点,而其他方面可以做到,那也将有所帮助。

提前致谢。

拉尔夫

我认为您想要的是这样的:

<camel:route id="rest.route.request.search">
    <from:netty:tcp://localhost:1111/>
    <!-- Send exchange off to another endpoint for enrichment/processing -->
    <camel:enrich ref="some.endpoint.ref" />
    <!-- Exchange body is sent back to caller -->
</camel:route>

使用内容丰富器,您应该能够通过任意数量的端点路由交换,并让Camel通过接收请求的套接字连接将交换主体发送回去。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

接收套接字请求,通过各个端点,并使用骆驼中的netty响应回相同的套接字连接

来自分类Dev

Netty使用标准套接字获得响应

来自分类Dev

python套接字如何使用相同的套接字连接正确重定向http / s请求?

来自分类Dev

通过套接字连接发送多个请求

来自分类Dev

C ++中的套接字接收

来自分类Dev

如何在套接字连接中接收 tcp 标志

来自分类Dev

使用套接字的HTTP请求

来自分类Dev

想要渲染通过React中的套接字接收的数据

来自分类Dev

Linux中的套接字连接

来自分类Dev

使用Java通过套接字接收python json

来自分类Dev

使用Java通过套接字接收python json

来自分类Dev

如何在Java中使用相同的套接字连接执行多个HTTP请求?

来自分类Dev

Android Java:通过套接字接收图像

来自分类Dev

通过套接字发送和接收图像

来自分类Dev

无法通过套接字接收图像

来自分类Dev

通过套接字接收的数据种类

来自分类Dev

iOS套接字编程中的套接字响应问题

来自分类Dev

如何通过 Angular httpClient 中的一个套接字连接发出多个请求?

来自分类Dev

通过套接字正确发送HTTP响应

来自分类Dev

通过套接字正确发送HTTP响应

来自分类Dev

如何使用Java中的套接字发送/接收对象

来自分类Dev

Python:使用套接字通过外部IP连接

来自分类Dev

如何通过套接字发送HTTPS请求?

来自分类Dev

Spring Integration - 如何通过同一连接实现异步 TCP 套接字请求/响应?

来自分类Dev

线程中的Python套接字接收

来自分类Dev

使用套接字发送和接收

来自分类Dev

尝试使用套接字接收文件

来自分类Dev

使用从TCP套接字[python]接收的数据

来自分类Dev

通过代理建立套接字连接

Related 相关文章

热门标签

归档