首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建作为Windows服务运行的Java应用程序

创建作为Windows服务运行的Java应用程序
EN

Stack Overflow用户
提问于 2016-12-09 10:26:30
回答 1查看 5.6K关注 0票数 2

我想要创建一个运行我的Java应用程序的Windows服务。

这并不是通过使用

代码语言:javascript
复制
sc.exe create myService binPath= "java -jar C:\to\my\service.jar"

当我尝试启动我创建的服务时,我会得到以下响应:

错误1053:服务没有及时响应启动或控制请求。

不幸的是,我的程序似乎没有响应它正在运行的Windows服务。

如何与运行我的程序的Windows-Service通信?

我试过NSSM,它工作得很好。但我不想再使用第三方应用了。当我搜索答案时,我总是看到大多数人使用Java服务包装器

如何构造我的Java代码以接受来自Windows服务的消息?

这里是一个简单的时间打印程序的例子,我想把它作为一个服务运行。我该怎么做?

代码语言:javascript
复制
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();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-12-09 15:16:33

除非您的应用程序实现了与Windows服务控制管理器(SCM)交互所需的接口,否则您将无法作为服务启动、停止或操作应用程序。您唯一的选择是使用服务包装器,如NSSM、JSW,甚至是微软的旧的但仍有功能的Srvany效用

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41058215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档