4

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を少し実行したいと思います。

4

1 に答える 1

3

これchild_process.exec()特に欲しくないですか?

ノードは、child_processモジュールを介して3方向のpopen(3)機能を提供します。

完全に非ブロッキングの方法で、子のstdin、stdout、およびstderrを介してデータをストリーミングすることができます。

上記のコマンド例は、ファイル()にパイプしようとしているため、正しくないことに注意してくださいoutput.json。パイプはプロセス間でのみ機能します。子プロセスモジュールを使用すると、プロセスのstdoutを直接読み取ることができ、ファイルは必要ありません(入力ストリームの場合も同様)。

于 2013-01-28T16:22:52.240 に答える