我正在使用 Spring Boot 来模拟我们的一项更复杂的服务。虽然所有标准情况都很容易完成,但有一个情况给我带来了一些麻烦。理论上,我正在模拟的应用程序有可能崩溃并关闭连接而不发送响应。
我尝试了几种方法来在 Spring Boot 中实现这一目标,而实际上并没有让我的模拟崩溃。这包括抛出进入异常处理程序的异常,并且从那里无法正确响应,但是到目前为止,要么由 spring 生成错误响应,要么以某种方式解析为空响应。
是否可以选择在 a 中使用方法@Conroller
导致关闭连接而没有任何响应?
关闭连接是HTTP规范和协议的责任。您无法以编程方式强制执行它。连接协商发生在 HTTP 客户端和 HTTP 服务器之间。
虽然您可以尝试中断当前线程或设置标头连接:关闭,但是您不应该搞乱连接和请求处理的那部分。您的 HTTP 服务器可能会开始出现异常行为。
尝试不同的方法。如果您需要模拟关闭的连接,您可以以编程方式分配一个新的 HTTP 服务器实例,向其发送请求,暂停请求处理并终止实例(这是一个单独的线程)。我相信您会找到更好的方法,只需从不同的角度找到问题的根源即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)