tcpnetclientconnectionfactory

tcpnetclientconnectionfactory

我正在尝试使用类tcpnetclientconnectionfactory来实现/委托我自己的tcp连接池。下面是我的bean定义,我已经将它注入到我的出站适配器中。我还使用threadlocal获取消息附带的动态主机,这样我就可以与工厂进行通信。我想让连接工厂(tcpnetClientConnectionFactory的子类)根据消息中提供的主机再次创建/构建新的连接。
但是,我不知道这个场景的最佳实践或方法是什么。如果有人能帮忙,我将不胜感激。

<bean id="client2" class="com.xxx.yyy.connection.MyTcpNetClientConnectionFactory">
    <constructor-arg value="localhost" />
    <constructor-arg value="1234" />
    <constructor-arg value="false" />
    <constructor-arg value="10000" />
    <constructor-arg value="false" />
    <property name="serializer" ref="fastestWireFormatSerializer"></property>
    <property name="deserializer" ref="fastestWireFormatSerializer"></property>
</bean>

<int-ip:tcp-outbound-channel-adapter
    id="outAdapter"
    channel="outChannel"
    connection-factory="client2"
    />

这是tcpnetClientConnectionFactory的构造函数:
public MyTcpNetClientConnectionFactory(String host, int port,
    boolean singleUse, int soTimeout, boolean soKeepAlive) {....}

最佳答案

我通过将“一次性”属性设置为true解决了这个问题。

关于java - 如何在Spring集成中自定义或委托(delegate)TcpNetClientConnectionFactory作为TCP连接池,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29787106/

10-11 03:12