gpt4 book ai didi

java - 如何暂时禁用 JVM 网络连接

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:23 25 4
gpt4 key购买 nike

我需要测试当互联网连接断开时某种方法是否仍然可以正常工作。

此测试可以在 Linux、Windows 甚至虚拟机中的 Jenkins 上运行,因此我认为特定于操作系统的解决方案并不是最好的方法。我还认为更改安全策略文件并不理想。

理想的执行流程如下所示:

disableNetwork()
testMethod()
enableNetwork()

最佳答案

正如这里的其他答案中所说,没有 Java native 方法可以做到这一点。因此需要一个操作系统解决方案。这就是我为 Linux 所做的:

public void pullTheCable() {
Runtime.getRuntime().exec("sudo ifconfig eth0 down");
}

这将禁用您的网络适配器。 (将“eth0”替换为相应的适配器)。这将再次出现:

public void pushTheCable() {
Runtime.getRuntime().exec("sudo ifconfig eth0 up");
}

您还需要编辑文件/etc/sudoers 以授予用户执行 sudo 命令而不要求密码的权限。更多信息请参见此处:

how do you make sudo save the password?

一旦我有了 Windows 解决方案,我就会更新这个答案。

关于java - 如何暂时禁用 JVM 网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24917902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com