我在我当前的项目中使用SI服务器并且对它非常满意。我基本上从示例中直接接受了服务器。沟通应该是请求/响应。我真的没有注意到任何问题,但考虑到潜在的高连接量,我应该以不同方式处理传入连接吗?是否“最好”让轮询器的频道更好地节流,或者这是我应该摆弄的东西吗?
<ip:tcp-connection-factory id="server"
type="server"
port="${port}"
using-nio="true"
so-tcp-no-delay="true"/>
<ip:tcp-inbound-gateway connection-factory="server"
request-channel="toSA"
error-channel="errorChannel"/>
<int:channel id="toSA"
datatype="java.lang.String"/>
<int:service-activator input-channel="toSA"
ref="Controller"
method="handle"/>
<int:transformer id="errorHandler"
input-channel="errorChannel"
expression="payload.failedMessage.payload + ':' + payload.cause.message"/>
答案 0 :(得分:0)
您可以通过限制可用于处理连接和I / O的线程数来间接控制连接和吞吐量。请参阅this question and answer - 请务必阅读所有评论。
另请参阅documentation了解详情。
我不建议尝试使用频道/轮询器来实现此目的。