我正在尝试使用类TcpNetClientConnectionFactory为客户端tcp连接实现/委派我自己的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) {....}
答案 0 :(得分:1)
我通过设置&#34;一次性使用&#34;解决了这个问题。财产到真。