5

私が使用する Java クライアントと Python クライアントの両方がありますchannel.basicConsume()。ある時点で、プログラム全体を停止することなく、それらの消費者を停止したいと考えています。

Pika を使用した Python では、channel.stop_consuming()呼び出しを配置し​​ましたが、それらは無視しているエラーを生成します。動作するようです

Java では、stop_consume() が利用できないように見えるため、これを行う方法がわかりません。

私が見るすべてのドキュメントは、コンシューマを作成するすべての方法について述べていますが、コンシューマを停止する方法を示すものを見つけることができないようです.

これについて最善の方法は何ですか?

4

2 に答える 2

-2

スレッドで消費する必要があるため、そのスレッドを中断して、残りのプログラムを実行したままにします

Thread t = new Thread(){
  public void run(){
    //consumer is in here
  }
};
t.start();

// somewhere else later
t.interrupt();

Thread tローカル変数ではなく、オブジェクトのフィールドとして使用して、他の場所で購入できるようにする必要がある場合があります

于 2013-03-22T15:55:45.683 に答える