終了する直前に、クラスのmainメソッドを実行するために新しいデーモンプロセスを実行する必要があるアプリケーションを開発しようとしています。
メインアプリケーションが終了した後も、デーモンプロセスが実行中である必要があります。
これはOracleDBで実行されるJavaストアドプロシージャであるため、ファイルシステムファイルではなくデータベース構造で定義されているため、オペレーティングシステムシェルからJavaクラスを見つけることができないためRuntime.execを使用できません。
特に、望ましい動作は、リモートデータベースセッション中に次のことができるようになることです。
デーモンプロセスを実行し、デーモンプロセスを実行状態のままにして終了する最初のJavaメソッドを呼び出します
そして(最後の呼び出しが終了したため、デーモンプロセスとセッション制御を実行します)結果的に
デーモンプロセスと通信するメソッドを呼び出します(通信の最後に最終的に終了します)
これは可能ですか?
ありがとう
アップデート
ホストに、JDBC-11Gociドライバーを使用してOracle11gR1DBに接続するJavaJDK6クライアントアプリケーションからのファイル転送サービスがない場合、大きなテキストファイルを作成してデータベースにロード(最高のパフォーマンスを実現)する必要があります。
入力として与えられたLOB(ラージデータベースオブジェクト)をファイルに格納するプロシージャを呼び出すことで、実用的なソリューションをすでに開発しましたが、そのようなメソッドは、避けたい中間構造が多すぎます。
そこで、最初の呼び出しでDB上にServerSocketを作成し、後でそれに接続して、直接高速通信でデータ転送を確立することを考えました。
私が遭遇した問題は、ServerSocketを作成するJavaプロシージャが終了できず、そのソケットとクライアントで実行中のスレッド/プロセスをリッスンしたままにして、ServerSocketが作成されたことを確認するために別のスレッドを実行できないために発生します残りの仕事を処理します。
明確になりたい