我需要在使用Spring JMS的应用程序中进行一些故障转移测试。我想模拟断开的TCP连接。 Spring框架具有ConnectionFactory
接口的两个实现(SingleConnectionFactory
和CachingConnectionFactory
),并且两者都缓存连接。根据文档,它们“ ...忽略对close()
的调用”。这样我就无法调试和关闭该连接。我也无法使用wireshark等工具,也无法使用物理机拔出电缆。有什么方法可以模拟“中断的连接”?
答案 0 :(得分:1)
致电resetConnection()
。
/**
* Reset the underlying shared Connection, to be reinitialized on next access.
*/
public void resetConnection() {
synchronized (this.connectionMonitor) {
if (this.target != null) {
closeConnection(this.target);
}
this.target = null;
this.connection = null;
}
}