为Windows Web应用程序运行bat文件作为Windows服务给出错误

时间:2014-11-21 16:49:02

标签: java windows java-ee batch-file service

我有一个繁重的java Web应用程序,它有一个模块,需要在计算机启动和24X7后立即运行。该模块有一个要执行的bat文件,它从服务器获取数据。 我想在我的系统上运行该bat文件作为Windows服务(操作系统:Windows 7) 我使用成功创建的sc create命令创建了服务。但是当我尝试启动它时,总是会出现错误1053,即无法启动服务;服务没有正确或及时响应。 我跟踪堆栈溢出和其他所有相关的线程,但没有运气。例如,我也设置了servicesPipeTimeout但它不起作用。

java自身有没有办法创建Windows服务?

我不想使用任何第三方,如包装器,NSSM等或Time Scheduler。

如果有人遇到此错误并得到解决,请提供一些线索。

提前致谢。你给的时间对我来说意味着很多。非常感谢

1 个答案:

答案 0 :(得分:0)

你在尝试什么是行不通的。虽然SC不会告诉你,但它应该仅用于安装已经“真正的”Windows服务的二进制可执行文件。因为批处理文件没有实现Windows服务接口,所以当您尝试启动服务时,它会失败并显示错误1053(“服务未及时响应启动或控制请求”)。

要将批处理文件作为服务启动,请使用"service wrapper" - 实现Windows服务接口的可执行文件,并在启动服务时启动批处理文件。 Microsoft's SRVANY是免费且基本的,但也有更适合专业环境的商业应用。