![](/img/trans.png)
[英]Spring Integration receive and send messages over a tcp connection
[英]How to extend TCP Outbound gateway to just receive messages in Spring Integration
我正在开发一个Web应用程序,该应用程序通过Spring Integration支持TCP连接。 它有两个功能。
(服务器上的应用程序不是由Spring Integration开发的。)
在这种情况下,应使用TCP适配器,我需要提供以协作TCP出站和入站通道适配器。 但是,我的应用程序有一些限制。
因此,我认为协作TCP出站和入站通道适配器很困难。 然后,我计划扩展TCP出站网关以添加仅接收消息的功能。 我应该如何扩展它? (或者您还有其他想法吗?)
提前致谢。
如果您可以确定消息类型,则应该可以执行以下操作...
public class ExtendedTcpOutpboundGateway extends TcpOutboundGateway {
private final MessageChannel unsolicitedMessageChannel;
public ExtendedTcpOutpboundGateway(MessageChannel unsolicitedMessageChannel) {
this.unsolicitedMessageChannel = unsolicitedMessageChannel;
}
@Override
public boolean onMessage(Message<?> message) {
if (isUnsolicitedMessage(message)) {
this.messagingTemplate.send(this.unsolicitedMessageChannel, message);
return false;
}
else {
return super.onMessage(message);
}
}
private boolean isUnsolicitedMessage(Message<?> message) {
// TODO Add logic here to determine message type
return false;
}
}
如果您无法分辨出差异,则不清楚如何实现您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.