有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

linux到后台Java服务应用程序的简单发送/接收接口

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

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

sudo service my-java-app stop

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

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

我认为最终的目标是在bash中执行命令,并让java应用程序以某种方式监听/连接到它


共 (1) 个答案

  1. # 1 楼答案

    我曾经在Java代码中使用套接字实现过这一点。Java应用程序以客户机或守护程序的形式运行。main()入口点检查套接字是否打开,以了解守护进程是否已经在运行。您可以使用CLI参数来确定是否要启动守护程序或发送命令

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

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