判断Wrapper Service注册的服务可否启动[Java编程]
本文“判断Wrapper Service注册的服务可否启动[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在我从前的一篇文章中介绍了利用Apache Wrapper Service这个工具将Java程序注册成操作系统的服务,假如你采取”实现WrapperListener这个接口并结合wrapper.conf” 这种方法来启动服务,并且在wrapper.conf配置文件中将wrapper.ignore_signals属性设置为true,Wrapper Service供应的API是无法精确的判断服务能否正常的启动,因为wrapper.ignore_signals属性用来屏蔽操作系统的消息机制,比方在启动服务的号令行窗口按Ctrl+C大概关闭启动服务的号令行窗口的时刻,服务也不会终止,这样可以避免误操作.
其实在Wrapper Service这个工具是通过Socket和JVM举行通信(趁便说一下,这样服务可否正常启动大概会遭到本机防火墙的影响,我碰到过这种情形),在 Wrapper Service的配置文件中可以指定服务利用的端口(默许为随机挑选端口,这样很不坚固),这样的话可以通过Java的Socket来判断服务能否可以正常的启动.
比方我们的服务利用的端口是3976,判断的Java代码是:
/**
* 查抄服务器衔接状况.
* @author vwpolo
* @return String
*/
private String getWrapperServiceState() {
try {
InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1",3976);
Socket socket = new Socket();
socket.connect(socketAddress,60000);
return "已启动";
}catch (Exception e) {
return "已经终止";
}
}
测试代码:
System.out.println("服务启动状况: "+ getWrapperServiceState());
以上是“判断Wrapper Service注册的服务可否启动[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |