我正在使用yajsw作为守护进程运行我的应用程序。
对于状态调用,我希望看到“running”或“stopped”,但我收到了如下消息

SW043305-SRV01:/etc/init.d # ./testDaemon status
15.06.2012 16:13:57 org.apache.commons.vfs.VfsLog info
INFO: Using "/tmp/vfs_cache" as temporary files store.
15.06.2012 16:13:58 org.rzo.yajsw.os.posix.PosixService init
INFO: /etc/init.d/testDaemon already exists
15.06.2012 16:13:58 org.rzo.yajsw.os.posix.PosixService getPid
INFO: wrapper pid file: /var/run/wrapper.testDaemon.pid

如何在windows下自定义打印的result.messages good,这是在linux下特别要做的事情。

最佳答案

我已经使用了相当于这个产品的Tanuki软件4年多了,从一开始我的方法就包括这样一个事实(在你的例子中),Yajsw并不真正知道底层应用的状态是什么——它只知道它启动了一个JVM,指示它加载你在其配置文件中指定的类,而JVM没有响应对Yajsw不利或终止。
所以-我想让我的Java应用程序保持失明,但让每个人都能知道24x7应用程序在哪里工作,所以我的Java守护进程通常会将面向状态和操作的信息发布到数据库表中-我构建了一个简单的Swing客户端来显示历史和当前状态数据。我的是一个简单的点解决方案,不值得做大量的专注于操作的工作,但我也添加了支持,使恶魔尽可能自治(不需要操作干预)。
例如,我添加了识别和恢复Oracle数据库错误的逻辑,包括识别错误本质上是临时的可重试请求(空间不足、Oracle DB实例尚未完全启动、Oracle DB实例正在关闭等),我可以将状态信息回显到状态表,然后定期重试,直到成功。

10-06 02:14