java - 如何以编程方式向应用程序服务器发送远程命令?

标签 java openedge

我需要向远程 OpenEdge AppServer 发送命令(查询、启动、停止)。这将在 OpenEdge 11.3 上运行。

据我所知,有以下选项:

  • OpenEdge 管理。这是一个可以通过 HTTP(S) 访问的 Web 应用程序。所需要的只是一个网络浏览器。不幸的是,它是为交互式使用而设计的 - 试图以编程方式控制它是疯狂的。

  • asbman 命令行实用程序。这是一个调用 Java 命令行应用程序的批处理文件,并允许管理本地和远程 AppServer。虽然这几乎正是我所需要的,但它带来了沉重的成本:似乎使用它的唯一方法是安装 OE,它并不完全是轻量级的,超过 500 MB。这包括运行应用程序服务器所需的一切,而我只需要能够向已运行的远程服务器发送命令。

    我应该注意,这仅以交互方式接收密码,尽管这可以解决(重定向 STDIN 很简单)。

    • 如果我可以提取该 Java 应用程序(com.progress.ubroker.tools.UBCmdClientprogress.jar),那就没问题了。但是,它至少调用一个 native 库 (jutil.dll),并且它们使用自定义启动器 (jvmStart.exe)。

      尝试通过标准 Java 启动器 (java.exe) 启动它会导致加载 native 库时出错(需要库的绝对路径:null\bin\jutil.dll )。我也在努力提取 jvmStart.exe,但似乎有很多依赖项。

      我找不到任何相关文档。

  • asbman 最终通过 Progress 显然称为“Chimera”的协议(protocol)与 AdminServer 和可能的 AppServer 进行通信。不幸的是,我似乎无法在任何地方找到文档。

有什么我错过的吗?有谁知道一种方法,最好但不一定有记录(在这一点上,只要它有效,目前与特定 OE 版本的联系就可以),以远程方式以编程方式向 AppServer 发送查询和命令,而无需安装整个应用程序套房?我简直不敢相信没有人认为这可能是一件有用的东西。

最佳答案

我有坏消息要告诉你。

没有独立的 asbman,并且您正在寻找的任何内容都没有记录。

我预计您将不得不硬着头皮安装 OE。您可能可以通过反复试验或仔细监视实际使用的文件来删除安装中的大量内容。就我个人而言,我从来没有发现这类事情值得付出太多努力。磁盘很便宜。

尽管如此,如果您确实找到了我会感兴趣的解决方案。

关于java - 如何以编程方式向应用程序服务器发送远程命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391369/

相关文章:

java - Maven - 在当前项目中找不到前缀为 'wildfly' 的插件

Java 位运算(基数排序)

java - 从 java 内部调用 node.js 脚本

Java猜谜游戏项目(初级)

datetime - 如何为 Progress 4GL 查询中的每个循环添加日期条件?

progress-4gl - 如何通过应用服务器连接获取调用程序的名称?

java - 如何将 NetBeans 平台源代码包含到模块依赖项中

sql - 使用 sql azure 连接 ODBC 进度

c++ - 我可以从 Progress OpenEdge ABL 调用 C++ 代码吗?

progress-4gl - 如何检查文件是否已包含?