Spring JMS。如何不缓存连接。故障转移测试

时间:2018-07-09 12:51:18

标签: spring connection spring-jms failover

我需要在使用Spring JMS的应用程序中进行一些故障转移测试。我想模拟断开的TCP连接。 Spring框架具有ConnectionFactory接口的两个实现(SingleConnectionFactoryCachingConnectionFactory),并且两者都缓存连接。根据文档,它们“ ...忽略对close()的调用”。这样我就无法调试和关闭该连接。我也无法使用wireshark等工具,也无法使用物理机拔出电缆。有什么方法可以模拟“中断的连接”?

1 个答案:

答案 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;
    }
}