Javaを使用してWebアプリケーションベースのETLも(ケトルエンジンを使用して)開発しています。Javaを使用してケトルジョブ/変換を実行しないでください
実行中のジョブを停止しようとしているときに、問題が発生しています。 CarteSingleton.javaを使用するのが正しいかどうかはわかりません。私はカスタムシングルマップを使用しています。 、私はマップに格納された正確なジョブオブジェクトをカスタムシングルトンマップでそのジョブオブジェクトを格納および取得しようとしている
job.start()が呼び出されるとJob job = new Job(null, jobMeta);
job.setLogLevel(LogLevel.DETAILED);
job.setGatheringMetrics(true);
job.start();
以下のよう
私のコードです、ジョブのステータスがRUNNINGの間にstopAll()(以下のコードを参照)を呼び出して別のREST呼び出しを呼び出すと、停止します。 しかし、これは実行中のジョブを停止しません。ケトルエンジンはこれを知らされていません!ジョブの実行が続行されます。 .kjb/.ktrはSPOONを使用して作成していましたが、私は実行を停止/実行するためにSPOONを使用していません。
は、私が変更したすべてケトルAPIの設定は、任意のJavaを使用して実行中のジョブまたは変換を停止する場合は、APIおよびサンプルの例に啓発してもらえ
same job object
job.stopAll();
を使用できるようにするために、あります?
ここでの指針やヘルプは素晴らしいでしょう!再度、感謝します。
よろしく、 サンジーブ
ありがとうございました。しかし、それを保証するアプローチは何ですか? Pentahoはサンプルを提供していますか?自分のサイトにも投稿しましたが、まだ応答がありませんでした。 stackoverflowは開発者にとってははるかに優れています! –
実際、保証はほとんどありません。 Javaでは、スレッドを手動で停止する_legal_方法はありません。 'Job'は' Thread'から派生し、変換のステップは通常別々のスレッドで実行されるので、それらを直ちに停止する方法はありません。 –