java - 如何有效地管理一堆 jar 文件及其管道?

标签 java

这是一个相当高级的问题,如果偏离主题,我们深表歉意。我是企业 Java 世界的新手。

假设我已经编写了一些单独的 Java 包来执行解析数据馈送并将解析的信息存储到队列等操作。另一个包可能会从该队列中读取并将这些条目摄取到规则引擎包中。跳闸警报被送入另一个队列,该队列由警报服务(假设它是用 Python 编写的)轮询,该服务从队列中读取并发出电子邮件。

就目前而言,我必须手动运行每个 jar 文件并将其粘贴在后台。虽然我可能可以守护部分或所有这些服务以实现弹性,或者编写某种服务管理器来做同样的事情,但这让我觉得非常业余。特别是因为我必须在启动时为这个单一工作流程启动十几个服务。

感觉自己好像少了点什么,又不知道自己不知道什么。除了编写一个庞大的整体应用程序之外,我应该研究什么来帮助我管理所有这些离散组件并能够(概念上)交付一个整体应用程序?我想最终得到某种虚拟机管理程序,我可以在其中单击一个按钮,它会启动/停止所有上述服务,让我了解它们的状态并确保服务在它们应该运行的时候运行。

这是框架发挥作用的地方吗?我看到了其中的一些,但不知道这是否只是矫枉过正,特别是如果我没有积极地为该框架开发解决方案。

最佳答案

您似乎用很多组件构建了一个系统,然后过了一段时间您决定聚合其中的一些组件,因为它们碰巧共享相同的编程语言:Java。因此,首先要发出警告:这不是将组件连接在一起的最佳方式。

此外,您似乎不太了解 Java,因为您混合使用了包、jar 和可执行文件等完全不相关且截然不同的概念。

但是,让我们假设当前的技术水平是最好的并且是不可变的。您当前的要求是构建一个图形界面(我猜是基于 HTTP/HTML)来管理用 Java 编写的系统的所有不同组件。我建议您使用单个 JVM,将您的组件编写为 EJB(本质上是一个 start()stop() 和一个查询返回自定义对象的组件状态的方法),最后将所有内容与 Spring 框架连接起来,它为 @Bean 提供了一个很好的注解驱动配置。

SpringBoot 还有一个 actuator package简化暴露对象。您可能还会发现将 bean 注册为托管 bean 并使用 Hawtio framework 很有用。管理它们(通过 Jolokia 代理)。

关于java - 如何有效地管理一堆 jar 文件及其管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35580563/

相关文章:

java - Spring boot + jpa,通过表单提交进行多对多关联

java - 在 Websphere 中查找所有提供的 jar

java - 创建同一类的多个对象的更简单方法

java - 在spring boot中应该在哪里定义实体模型类

java - Dozer Mapper 不直接映射

java - 来自 TreeItem 的通配符和泛型

java - Janino scriptella 与数组 List 的使用

java - 在java中将列表转换为逗号分隔字符串的最佳方法

java - 在 super() 构造函数中获取子类名称

java - 如何在 Java 中打印颜色的字符串表示