gpt4 book ai didi

java - 如何从命令行查询正在运行的java应用程序?

转载 作者:行者123 更新时间:2023-11-30 04:14:56 26 4
gpt4 key购买 nike

我有一个正在服务器上运行的 Java、Scala Web 应用程序。如何创建 cli 接口(interface)来访问/查询正在运行的应用程序?至少我只需要调用正在运行的应用程序的方法并检索它返回的字符串,所有这些都来自命令行。我该怎么做?

注:Apache Thrift似乎与我的问题有关,但感觉有点矫枉过正。我很乐意编写一个 bash 脚本或一个小型 java 程序,它们可以“ Hook ”到已经运行的应用程序中。

最佳答案

使用 JMX

考虑到您的要求,最简单的解决方案最有可能使用JMX 。这正是它的用途,因为它是 Java Management eXtensions API。

您可以找到详细的tutorial trailJava Tutorial 。这相对简单。您的 Java 程序将监听来自 JMX 客户端的连接,并允许您查询自己的 Management Beans (MBean)。

然后,管理员将能够使用 JMX 兼容客户端(例如 jconsole)或自定义客户端。请参阅此处 custom JMX client example .

另一个好的 - 虽然现在有点古老 - 教程是 Getting Started with MBeans .

<小时/>

如果您想要拦截特定函数的返回值,而不是创建自己的扩展点来进行监视和管理,那么您更有可能想要使用调试器。

此外,您可能对这些问题感兴趣:

关于java - 如何从命令行查询正在运行的java应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18633029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com