【问题标题】:What is the best approach to build a Java standalone app that functions like a UNIX process? [closed]构建功能类似于 UNIX 进程的 Java 独立应用程序的最佳方法是什么? [关闭]
【发布时间】:2012-08-18 13:38:16
【问题描述】:

我需要构建一个 Java 应用程序,以便在 UNIX (FreeBSD) 上像守护程序一样运行。该应用程序需要像任何 UNIX 进程一样启动。启动后,它坐在那里等待来自主主机/服务器的命令。命令通过 RESTful Web 服务调用馈送到此应用程序 - 因此它需要侦听特定端口的网络连接。同时,它需要通过传出http调用来访问外部主机/网站的资源。

编写此类应用程序的最佳方法是什么?我正在考虑编写一个独立的应用程序,包括 Grizzly 和 Jersey 库。这是正确的方法吗?有更好的方法吗?

(另外,我认为我不应该编写一个普通的 Web 应用程序——war 文件——部署在 GlassFish 或某种 Java 容器中。)

【问题讨论】:

  • Stackoverflow 用于询问代码中的问题,显示代码。您需要一般帮助来设计属于 Programmers 的应用程序,因为它很可能会因为含糊不清而被关闭。
  • 无论做什么,都是一个过程。除了不是进程的内核之外,没有任何东西可以在 UNIX 系统上运行。甚至init也只是一个正常的过程。

标签: java unix jersey grizzly


【解决方案1】:

编写此类应用程序的最佳方法是什么?

没有单一的最佳方法。

我正在考虑编写一个独立的应用程序,包括 Grizzly 和 Jersey 库。这是正确的方法吗?

假设您遵循相关文档,它将起作用。

有更好的方法吗?

可能。

(另外,我认为我不应该编写一个普通的 Web 应用程序——war 文件——部署在 GlassFish 或某种 Java 容器中。)

这是另一种方法。

另一种方法是使用像 Jetty 这样的轻量级容器。

【讨论】:

  • 如果我可以使用 Grizzly 监听 HTTP 连接,如果您能解释为什么我需要使用 Jetty,我将不胜感激,如本文所述:stackoverflow.com/questions/6050407/…
  • 您不必使用 Jetty。灰熊和码头是替代品。我的回答的重点是有其他选择,你需要权衡你的应用程序的利弊。
【解决方案2】:

如果您希望您的应用程序一直运行并接受 RESTful Web 服务调用,那么在我看来,您最好的选择是让一个普通的 Web 应用程序在包含您的应用程序所需的所有方法的某个 Web Web 服务器下运行( Tomcat、Glassfish 等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 2010-09-09
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    相关资源
    最近更新 更多