我想要创建一个运行我的Java应用程序的Windows服务。
这并不是通过使用
sc.exe create myService binPath= "java -jar C:\to\my\service.jar"当我尝试启动我创建的服务时,我会得到以下响应:
错误1053:服务没有及时响应启动或控制请求。
不幸的是,我的程序似乎没有响应它正在运行的Windows服务。
如何与运行我的程序的Windows-Service通信?
我试过NSSM,它工作得很好。但我不想再使用第三方应用了。当我搜索答案时,我总是看到大多数人使用Java服务包装器。
如何构造我的Java代码以接受来自Windows服务的消息?
这里是一个简单的时间打印程序的例子,我想把它作为一个服务运行。我该怎么做?
package tst;
import java.util.Date;
public class Tester
{
public static void main(String[] args)
{
Thread thread = new Thread()
{
public void run()
{
long start = System.currentTimeMillis();
long end = start + 20 * 1000;
while (System.currentTimeMillis() < end)
{
Date date = new Date();
System.out.println("Time: " + date.toString());
try
{
Thread.sleep(5000);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
};
thread.start();
}
}发布于 2016-12-09 15:16:33
除非您的应用程序实现了与Windows服务控制管理器(SCM)交互所需的接口,否则您将无法作为服务启动、停止或操作应用程序。您唯一的选择是使用服务包装器,如NSSM、JSW,甚至是微软的旧的但仍有功能的Srvany效用。
https://stackoverflow.com/questions/41058215
复制相似问题