gpt4 book ai didi

java - 后台 Java 服务应用程序的简单发送/接收接口(interface)

转载 作者:太空狗 更新时间:2023-10-29 12:16:27 27 4
gpt4 key购买 nike

我有一个永久在后台运行的 headless Java 应用程序,我想它就像一个服务/守护进程。它在 Linux 上运行并收集数据,将其存储在数据库中,连续循环。

它通过 init.d 脚本启动和停止。它在系统启动时启动在后台运行的 jar,并在系统关闭时通过终止特定的 java 进程来停止它。另外,我可以访问此脚本以手动启动/停止,如下所示:

sudo service my-java-app stop

尽管很原始,但这已经足够了。但现在我希望使用更优雅的界面。这将允许我发送命令(即更改数据获取频率和友好终止)和请求数据(即健康检查和统计信息)。

我以前从未这样做过,我正在寻找一些关于从哪里开始的指导。该应用程序在 headless Linux 的后台运行,因此 GUI 不适合。我想过运行一个 http 服务器并监听 POST 和 GET,但这在 bash 中实现或使用并不简单。我想可能有一个虚拟 COM 端口或我可以创建的东西??或者甚至是我写入的文本文件,应用程序会按时间间隔读取?

我认为最终目标是一种在 bash 中执行命令并让 java 应用程序以某种方式监听/附加到此命令的方法。

最佳答案

我曾在 Java 代码中使用套接字完成过一次。 Java 应用程序作为客户端或守护进程运行。 main() 入口点检查套接字是否打开以了解守护进程是否已经在运行。如果要启动守护程序或发送命令,您可以使用 CLI 参数来说明。

  • 在守护进程启动时,您在特定端口上打开一个套接字
  • 在另一次启动时,您检查该特定端口上的套接字是否打开,如果打开则向它发送消息。

注意:这意味着选择一个固定的端口,顺便说一句,我不喜欢。

关于java - 后台 Java 服务应用程序的简单发送/接收接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com