【问题标题】:How to deploy Java standalone application on JBoss along with other web applications如何在 JBoss 上部署 Java 独立应用程序以及其他 Web 应用程序
【发布时间】:2019-09-10 23:21:43
【问题描述】:

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

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

【问题讨论】:

  • 它帮助我获得了一些想法。但现在我正在尝试实现一个通知服务,该服务将被及时触发,而不是队列监控。所以我打算使用 Quartz shceduler,正如许多人所建议的那样。谢谢你的cmets。 @贾斯汀伯特伦

标签: java jboss jms


【解决方案1】:

在应用程序服务器中,您不能运行 java 应用程序。您必须将 Web 应用程序部署为战争或耳朵。

你可以做什么:

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

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

【讨论】:

  • 太棒了。将尝试第二种方法。
  • 我能否获得一些示例或链接以参考在集群(主动-主动)环境中实现 Quartz 调度程序。当第一个作业开始时,第二个节点不应该开始这个作业。
  • @Akram 石英 api 能够在集群环境中执行。它使用数据库中的表来控制多次执行。看这个帖子stackoverflow.com/questions/12626380/…
  • 伟大而有用的回复。这对我帮助很大。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 2013-04-22
  • 2016-01-04
  • 1970-01-01
  • 1970-01-01
  • 2013-05-17
  • 1970-01-01
相关资源
最近更新 更多