如何在 JBoss 上部署 Java 独立应用程序以及其他 Web 应用程序

How to deploy Java standalone application on JBoss along with other web applications

我正在编写一个 Java 程序,它将继续侦听 JMS/ActiveMQ 队列中的任何消息。当队列中有消息发布时,该程序将拾取该消息并进行处理。这个程序有一个 main() 方法。现在我想在 JBoss/Wildfly 部署这个程序。 JBoss 上已经部署了一些 Web 应用程序。我也想在 JBoss 上部署此程序以避免手动启动。每当 JBoss 服务器启动时,该程序也应该 运行 并监听队列。

如果无法使用 main 方法,我需要一些关于此要求的替代解决方案的建议。

在应用程序服务器中,您不能运行 java 应用程序。您必须将 Web 应用程序部署为 war 或 ear.

你能做什么:

1) 将您的 java 独立应用程序转换为 Web 应用程序并定义一个 servlet。该 servlet 将启动您的进程。因此,在这种情况下,当服务器启动时,它将部署您的包(war 或 ear),初始化您的 servlet,然后启动您的进程。 2) 使用调度程序 (linux quartz) 将您的 java 独立应用程序转换为 Web 应用程序以启动您的进程。这比第一个选项要好,因为您不必创建服务。

PS:当您必须 运行 一个 java 独立应用程序时,一般来说,我们使用其他服务来完成这项工作(如 Control-M 或 [中的 cron 选项卡) =23=])