質問

コマンド ラインから Web アプリの Java クラスにアクセスできるようにするコードを記述するにはどうすればよいでしょうか。

例えば。コマンドラインインターフェイスを備えたJavaクラスがあり、DBなどにアクセスしてWebアプリのコンテキストでコードを実行できます。Tomcat で WARred アプリをホストしているマシンにログオンし、それと対話できるようにしたいと考えています

どこから探し始めればよいでしょうか?

ありがとう

役に立ちましたか?

解決

たまたま WAR にバンドルされているクラス ファイルを実行したいだけですか、それとも実際に実行中の WAR インスタンスと対話したくないですか?前者の場合、WAR は単なる通常の Jar ファイルであり、他の Jar ファイルと同様にその中のクラスを実行できます。

実行中の WAR を操作したい場合は、JMX を検討するとよいでしょう。

現在のすべての JDK (少なくとも 1.5​​ 以降) には、JMX が「無料」で付属しています。WAR と対話するためのコマンドとして使用する小さなインターフェイス クラスを作成するのは簡単です。

次に、JMX 経由で WAR に接続するコマンド ライン プログラムを作成する必要があります。または、JConsole (JDK に付属していますが、GUI です) などのツールを使用してインスタンスと対話することもできます。他にも JMX クライアントがあります。

どれも魅力的ではない場合でも、Web サービスは常に存在します。

他のヒント

提案:コマンド ライン インターフェイス クラスは、InputStream を入力として受け入れ、出力が書き込まれる OutputStream (出力を System.out に、入力を System.in にハードコードすることはできません) を提供する必要があります。次に、特定のポートで接続をリッスンするサーバー クラスを作成する必要があります。接続が確立されると、サーバーは接続から InputStream を取得し、それをコマンド ライン クラスに渡します。コマンド ライン クラスは、書き込まれたデータが接続を行ったクライアントに渡される OutputStream を提供します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top