如何从Mule TcpConnector获取套接字对象

如何从Mule TcpConnector获取套接字对象,mule,Mule,在持续tcp连接过程中出现异常(SendSocketOpen设置为true)后,我希望关闭套接字。目前,我相信Mule不会为我进行清理,它只是释放套接字,这意味着它正在将其返回池中。作为记录,除非您在连接器或端点上将keepSendSocketOpen(不是您发布的SendSocketOpen)设置为true,Mule将套接字返回套接字池时关闭套接字。如果强制关闭套接字,Mule应该恢复,因为它会在从池中取出套接字时验证套接字。所以Mule应该检测到它已经关闭并重新创建它 问题确实是要获得套接字

在持续tcp连接过程中出现异常(
SendSocketOpen
设置为true)后,我希望关闭套接字。目前,我相信Mule不会为我进行清理,它只是释放套接字,这意味着它正在将其返回池中。

作为记录,除非您在连接器或端点上将
keepSendSocketOpen
(不是您发布的
SendSocketOpen
)设置为true,Mule将套接字返回套接字池时关闭套接字。如果强制关闭套接字,Mule应该恢复,因为它会在从池中取出套接字时验证套接字。所以Mule应该检测到它已经关闭并重新创建它


问题确实是要获得套接字:AFAICS唯一的选择是扩展
org.mule.transport.tcp.TcpMessageDispatcher
,并使用
服务覆盖
子元素配置连接器,该子元素提供一个
TcpMessageDispatcherFactory
,以构建您自己的调度器风格。

谢谢David。我现在刚读过。我昨天把它修好了。我发现有一个。所以基本上我创建了自己的MessageDispatcher、MessageDispatcherFactory、连接器和协议。是的,SendSocketOpen是一个印刷错误,它应该是一个用于同步连接的keepSendSocketOpen。