【问题标题】:Running bat file for java web application as Windows Service giving error将 java Web 应用程序的 bat 文件作为 Windows 服务运行给出错误
【发布时间】:2014-11-21 16:49:02
【问题描述】:

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

java本身有没有办法创建windows服务?

我也不想使用任何第三方,如 wrapper、NSSM 等或 Time Scheduler。

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

提前致谢。您给我的时间对我来说意义重大。非常感谢

【问题讨论】:

  • 嘿,你们这些聪明的人,请帮助我摆脱这种情况。
  • 知道这些事情的朋友建议这样使用create命令来启动它:sc create ServiceName binpath= "C:\Windows\System32\cmd.exe /C C:\ServiceName\batch.bat"如果可行请给我留言。
  • 嗨,sjoy,感谢您的回复。我很高兴大家听到了。好吧,这部分已经完成了。正如我所说,我成功地创建了服务。当我尝试启动它时会出现问题。它给出错误 1053。

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


【解决方案1】:

您正在尝试的方法将不起作用。虽然 SC 不会告诉您其他情况,但它只能用于安装 已经“真正的”Windows 服务的二进制可执行文件。由于批处理文件没有实现windows服务接口,当你尝试启动服务时,它会失败并返回错误1053(“服务没有及时响应启动或控制请求”)。

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

【讨论】:

  • 感谢 CoreTech 和 Sjoy 的回复。我现在用过 SRVANY。如果遇到一些查询,将再次发布。非常感谢!!!
猜你喜欢
  • 2021-09-11
  • 2011-07-08
  • 1970-01-01
  • 2019-12-25
  • 2022-01-11
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多