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

2023-12-21

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

使用这没有问题

sc.exe create myService binPath= "java -jar C:\to\my\service.jar"

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

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

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

我如何与我的程序运行的 Windows 服务进行通信?

I tried NSSM https://nssm.cc/效果很好。但我不想使用其他第三方应用程序。 当我搜索答案时,我总是发现大多数人使用Java 服务包装器 https://wrapper.tanukisoftware.com/doc/german/download.jsp.

如何构造我的 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();
    }
}

除非您的应用程序实现了与交​​互所需的接口Windows 服务控制管理器 (SCM) https://msdn.microsoft.com/en-us/library/windows/desktop/ms685150(v=vs.85).aspx,您将无法启动、停止或操作您的应用程序作为服务。您唯一的选择是使用 NSSM、JSW 等服务包装器,甚至是 Microsoft 的旧但仍然可用的服务包装器服务实用程序 https://www.coretechnologies.com/WindowsServices/FAQ.html#WhatIsSrvany.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建 Java 应用程序作为 Windows 服务运行 的相关文章

随机推荐

  • 如何强制输入日期格式为 dd/mm/yyyy? [复制]

    这个问题在这里已经有答案了 我有一个小问题 我正在开发一个网络系统 表单字段类型日期让我很头疼 该系统仅适用于巴西用户 因此日期格式应为 dd mm yyyy 当从使用葡萄牙语的计算机访问该网站时 HTML 表单字段类型的日期按照我想要的方
  • WPF RichTextBox 拼写检查 ComException

    我在尝试在某些 Windows 8 1 计算机上启用拼写检查时遇到异常 两者都有最新更新 操作系统语言是俄语 NET Framework 4 7 是俄语 System Reflection TargetInitationException
  • 使用 MouseUp 和 MouseDown 事件或其他事件模拟单击的最佳方法是什么?

    在 WPF 中 大多数控件都有MouseUp and MouseDown事件 以及鼠标按钮特定的变体 但不是简单的Click可以立即使用的事件 如果您想使用这些事件获得类似点击的行为 您需要处理这两个事件 我认为这有点痛苦 明显的问题是你不
  • 在两个 Rails 项目之间共享模型 - 使用 git 子模块?

    我有一个 Rails 网站 它分为两个独立的项目 公共网站和管理网站 由于两个站点都使用相同的数据库 因此模型在应用程序之间共享 实际上现在它们是重复的 我这里遇到的问题是 当公共项目中发生模型更新时 我需要将更改复制到管理项目中 我环顾四
  • Solr 停用词替换为 _ 符号

    我的自动建议中的 solr 停用词有问题 所有停用词均替换为 符号 例如 我在字段 deal title 中有文本 简单文本 当我尝试搜索单词 简单 时 solr 显示下一个结果 简单文本 但我期望 简单文本 有人可以解释一下为什么会这样工
  • 通过构造函数进行依赖项注入的 Azure Functions 找不到作业函数

    我使用 NET 5 创建了 Azure Function 版本 3 并通过类的构造函数进行依赖项注入 请参阅下面的虚拟代码 public class MyAzureFunction private readonly IMyRepositor
  • 在不使用 OpenCL 的情况下对 Intel IGP(例如 Iris Pro 5200)硬件进行编程

    台式机 i7 4770k 4GHz 的内核峰值 GFLOPS 为 4GHz 8 AVX 4 FMA 4 个内核 512 浮点运算 https stackoverflow com questions 15655835 flops per cy
  • 在 Javascript 中模拟鼠标点击[重复]

    这个问题在这里已经有答案了 寻找一个用鼠标左键单击由 ID 或类名称标识的图像 按钮的 Javascript 等待 x 秒并重复 并且能够在开发者工具控制台点击 chrome 和 firefox 中运行 尝试自己编写它 因为我认为这将是一个
  • 如何将属性传递给 Loader 创建的对象?

    我有一个QMLLoader加载另一个 qml Loader id gaugeLoader PieMenu id pieMenu MenuItem text Add Bar Gauge onTriggered gaugeLoader sour
  • (SwiftUI) 导航栏高度问题

    我必须在视图 2 中使用大标题 navigationBarTitleDisplayMode large 和 searchable 但在这种情况下 View 3 中导航栏的高度设置得很奇怪 我认为 视图 2 中导航栏的高度和搜索栏高度的总和应
  • 程序运行时出现 C++ STATUS_ACCESS_VIOLATION 错误

    每次我运行该程序时 都会弹出这个神秘的错误 表示我遇到了某种类型的状态访问冲突 我尝试用谷歌搜索它 结果是我可能试图访问一些不允许的内存 非常感谢您的帮助 这是我运行程序时出现的错误 2 main a 5772 exception hand
  • 在django模板中将负数转换为正数?

    如何在django模板中将负数转换为正数 for balance in balances balance amount endfor 如果balance amount是负数 我想将其转换为正数 我想建议安装Django 数学过滤器 http
  • D3 自定义曲线:区域的束插值

    考虑这个 D3JS 图 它使用basis插值 在 D3JS v3 中 我可以使用bundle插值 interpolate bundle tension 0 在区域上实现这种类型的渲染 请注意图表的每个部分如何与其相邻部分完美契合 这就是我需
  • 如何在Java中生成随机排列?

    生成 n 个数字的随机排列的最佳方法是什么 例如 假设我有一组数字 1 2 和 3 n 3 所有可能排列的集合 123 132 213 231 312 321 现在 我如何生成 上述集合的元素之一 随机选择 如上所示的整个排列集 换句话说
  • 与西纳特拉一起设计

    有谁安装过吗Devise https github com plataformatec devise西纳特拉的宝石 Devise 基于 Warden 因此它应该可以在 Sinatra 上运行 我找不到任何有关如何实现它的相关信息 Devis
  • 为每个元组对象添加描述?

    我有一个元组 var a new Tuple
  • AES 加密 Golang 和 Python

    我正在为自己做一个有趣的业余项目 一个 golang 服务器和一个 python 客户端 我希望传输的数据被加密 但似乎无法让两种加密方案一起工作 我是加密方面的新手 所以请像对幼儿说话一样解释 这是我的 golang 加密函数 impor
  • HttpClient-PostAsJsonAsync

    我在使用时遇到一个简单但烦人的问题PostAsJsonAsync
  • 如何使用 SQLite 从两个表中选择不同的记录,合并为一列,并消除另一个表中存在的所有记录?

    这是我现有的查询 它成功地从两个表中选择不同的记录并将它们组合成一列 SELECT index text AS unique text FROM words UNION SELECT c1index text FROM words cont
  • 创建 Java 应用程序作为 Windows 服务运行

    我想创建一个运行我的 Java 应用程序的 Windows 服务 使用这没有问题 sc exe create myService binPath java jar C to my service jar 当我尝试启动我创建的服务时 我收到以