windows系统用批处理(.bat)检测java接口的存活状态

 思路是通过批处理来运行class文件,根据反馈结果进行不同的处理:如果接口可访问,将运行正常写入日志;如果不可访问则进行重启系统。

1、首先写java文件,新建文本文档,写入下面代码并保存为Test.java文件

import java.net.URL;
import java.net.URLConnection;
public class Test{
    public static void main(String[] args) {
		testUrlWithTimeOut("http://localhost:8080/tlyd/login.html");
    }
	public static boolean testUrlWithTimeOut(String urlString){
		int timeOutMillSeconds=2000;
		URL url;
		try {
			url = new URL(urlString);
			URLConnection co =  url.openConnection();
			co.setConnectTimeout(timeOutMillSeconds);
			co.connect();
			System.out.println("接口可用");
			System.exit(0);
			return true;
		} catch (Exception e1) {
			System.out.println("接口打不开!");
			System.exit(1);
			return false;
		}
	}
}

2、用cmd对Test.java进行编译,在Test.java的路径下打开cmd窗口运行以下命令

javac -encoding UTF-8 Test.java
java Test

此时控制台没有报错说明编译成功切正常运行。这时Test.java会生成一个Test.class文件。

3、批处理命令,新建文本文档,写入下面代码并保存为存活监控.bat文件

::存活监控!
@echo off
set "yMd=%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8%"
java Test
if ERRORLEVEL 1 (goto err) else (goto ok)

:err
echo %yMd% 程序连接失败,进行重启! >> D:\yd_code\code\存活监控日志.log
set port=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f   
)
goto start
exit 
 
:ok
echo %yMd% 程序运行正常 >> D:\yd_code\code\存活监控日志.log
exit 
:start
start java -jar D:\yd_code\code\admin.jar

这时将Test.class、存活监控.bat、admin.jar 三个文件放同一目录下。

点击存活监控.bat即可实现http://localhost:8080/tlyd/login.html的监控,如果这个接口或者页面无法访问,就会重启程序。

最后可以利用windows系统的定时任务来运行存活监控.bat

源文件地址:https://download.csdn.net/download/qq_36802726/15381251

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值