从 Node.js / Heroku 应用程序在服务器端执行 Java 程序



我可以从 Heroku 上的 Node.js 应用程序调用 Java 程序吗?

我有一个 Node.js/Heroku 应用程序。 但现在需要添加服务器端功能,以在输入数据文件上运行算法并将数据输出为 JSON 格式。 我已经有一个可以读取文件并运行算法的 Java 库,对我来说,用纯 Node.js 重写它非常困难(充其量)。

因此,可以编写一个命令行程序,该程序采用输入文件并将结果通过管道传输到 stdout,例如

java mytask.class -cp ./mylibrary.jar --in /tmp/file.in > output.json

是否可以从 Node.js 调用 Java 命令行程序? 我知道可以将Java应用程序部署到Heroku,但这里希望从Node.js应用程序执行一些Java。

你不想要这个,特别是child_process.exec()吗?

Node 通过 child_process模块。

可以通过孩子的标准、标准输出和 STDERR以完全无阻塞的方式。

请注意,上面的示例命令不正确,因为您正在尝试通过管道传输到文件 ( output.json )。管道仅在进程之间工作。子进程模块将允许您直接读取进程的 stdout,并且您不需要该文件(类似于输入流)

最新更新