问题标签 [apache-commons-daemon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 jsvc 类路径中使用多个 jar
我正在尝试使用 jsvc 让 Java 应用程序作为 Linux 服务运行。我发现如何使用 jsvc 将 java 程序转换为守护进程?这能够让我大部分时间,但我仍在努力弄清楚类路径。
我收到以下错误到 stderr:
19/04/2013 10:43:18 12233 jsvc.exec 错误:找不到守护程序加载程序 org/apache/commons/daemon/support/DaemonLoader
19/04/2013 10:43:18 12231 jsvc.exec 错误:服务退出,返回值为 1
运行时似乎无法找到 commons-daemon.jar。
我的应用程序的结构使得应用程序本身位于一个 jar 文件中,具有依赖项,包括 lib 目录中的 commons-daemon。
- 守护进程脚本.sh
- myapp.jar
- lib/commons-daemon.jar
- 库/其他罐子
这是我的 daemon-script.sh 的相关部分:
LIB_DIR=$(pwd)/lib/*
CLASS_PATH=$(pwd)/myapp.jar
$EXEC -home $JAVA_EXEC -cp $CLASS_PATH:$LIB_DIR -outfile $LOG_OUT -errfile $LOG_ERR -pidfile $PID $1 $CLASS
我尝试了很多变体:相对路径,特别是引用 lib/commons-daemon.jar,没有通配符等。有人知道如何使它正常工作吗?
此外,myapp.jar 是一个自执行 jar (主要用于测试目的,是的,我仍然需要它作为服务运行),因此 manifest.mf 包含 Class-Path 和 Main-Class 属性。有没有办法让 jsvc 识别清单?
java - Java 中的单元测试 Apache Commons 守护进程
我四处研究,似乎找不到任何体面的资源来帮助我 JUnit 测试用 Java 编写的 apache commons 守护程序。我希望能够测试当一个守护进程启动时它不会失败地启动,而当它关闭时它的关闭不会失败。
这是守护程序在一段时间后启动和停止的一些示例代码:
更新
Logger 类读入一个文本文件并将该文本文件中的随机行写入日志文件 *
非常感谢任何帮助。
java - 如何将 Apache Commons Daemon 与跨平台服务一起使用?
我有一个需要部署为可执行 JAR 的 Java 守护程序(运行 24/7/365 的系统服务),但是我希望用户(在 Windows、Linux 和 Mac 上)能够通过以下方式启动/停止应用程序:
(或任何与 Windows/Mac 服务等效的东西)。显然,这需要操作系统级别的东西来将myapp
“服务”映射到我的 Java 应用程序内部的特定方法调用(可能,LifecycleManager#start()
并且LifecycleManager#stop()
分别)。
我听说Apache Commons Daemon可以用于此目的,在仔细阅读他们的网站后,它看起来就是这样做的。但是,它看起来像是一个旧项目,并且确实没有任何文档可以完成我正在寻找的内容。
所以我问:可以commons-daemon
做我需要的,还是我需要别的东西或额外的东西?如何从可执行 JAR 中获取跨平台守护程序?提前致谢!
java - 如何在 Apache Commons Daemon 中实现日志文件轮换?
标准 Unix 守护进程支持信号 HUP 来轮换日志文件。当守护进程收到信号时,它会关闭所有日志文件并重新打开它们。
我在 Java 中有一个使用 Apache Commons Daemon 的守护进程。守护进程实现支持三种方法:init、start 和 stop。但我找不到任何对 Unix 信号的支持。如何支持 HUP 信号轮换日志文件?
java - Commons-Daemon 是否存在以使您的可执行 JAR 成为服务?
假设我有一个名为myapp.jar
. Apache Commons-Daemon是否存在以便我可以编写一个/etc/init.d/myapp
服务脚本(用于启动/停止myapp
服务),然后myapp
像普通的 Linux 服务一样对待:
还是它做其他事情?
java - Windows 服务 - 未找到 Apache 公共守护程序类
我有一个需要作为 Windows 服务安装的 Jar 文件。我正在使用 Apache commons 守护进程 procrun。
尽管该服务出现在任务管理器的“服务”选项卡中,但它没有运行。它处于停止状态并试图启动它似乎不起作用。
*在公共守护进程日志中,我注意到它无法加载主类,即“AgentApp”。
我也安装了 32bit jre。
这里提到下日志文件的内容。
imageprocagent 标准错误:
克劳福德守护进程:
- `[2015-01-07 15:47:49] [错误] FindClass com/fx358/fx9/agent/AgentApp 失败
这是我用来安装代理的脚本:
` 有人可以指出我做错了什么吗?提前致谢。
scala - 使用来自 jsvc 的 commons-daemon 运行 Scala
我正在尝试编写一个基本的 Scala 应用程序,它可以使用 commons-daemon 作为守护程序运行。以下代码基于本文中的 java程序
当我从 sbt 运行或构建一个 jar 时,这工作正常。我无法让代码从 jsvc 运行。例如,如果我运行:
我将在 stderr 上获得以下信息
我不明白它正在寻找的方法 init(Array[String]) 发生了什么。scalac 编译主类的方式是否导致代码与守护进程接口不兼容?
谢谢!
java - 如何使用procrun将documents4j服务器独立安排为Windows服务?
我一直在尝试将documents4j安排为windows服务,使用procrun进行RTF到PDF的转换,但它一直抛出以下错误:
我为 procrun 创建了以下 bat 文件
我能够成功地将 jar 安装为 Windows 服务并启动/停止它
此外,当类 com.documents4j.standalone.StandaloneServer 通过命令行执行时,转换会正确发生。
jetty - 使用 Apache Commons Daemon 配置 Tika Windows 服务
我正在尝试使用 Apache Commons Daemon 让 Tika JAXRS 作为 Windows 服务运行。
我有来自http://tika.apache.org/download.html的 tika-server-1.7.jar
我可以让 Tika 作为服务启动,但我无法确定停止方法使用什么。
这开始了,并且按我希望的那样工作,但是当试图停止服务时它没有响应。显然org.apache.tika.server.TikaServerCli.main(string[] args)
不是一个合适的停止方法,但我迷失了替代方案。
我也欢迎任何让 Tika 作为 Windows 服务运行或在交互式会话之外自动启动的替代方法。
java - 如何将守护程序实现设置为 Windows 服务
我没有找到任何关于如何将实现org.apache.commons.daemon.Daemon
接口的类注册为 Windows 服务的非常好的示例(实际上我没有找到一个示例)。
我是否必须使用 procrun 注册此实现?但是,实现接口似乎没有意义,因为 procrun 可以将任何程序注册为 Windows 服务。
此外,procrun 页面上似乎有一个文档错误(http://commons.apache.org/proper/commons-daemon/procrun.html):
--StartMethod
参数说明如下:
注意:在 jvm 模式下,在调用 stop 方法之前,start 方法不应返回。
但在“在 jvm 模式下使用 Procrun”部分的页面下方:
注意,处理服务启动的方法应该创建并启动一个单独的线程来进行处理,然后返回。start 和 stop 方法是从不同的线程调用的。
我读错了还是有点矛盾?静态 start(String[] args) 方法的正确行为是什么?
此致