あなたの提案が必要です、お願いします。私のシステムはクライアントプログラムとWebサービスに関するものです。クライアントはいくつかのイベントのインスタンス化者であり、メッセージをWebサービスに送信し、処理されてからブロードキャストされます。私がする必要があるのは、サーバー側のWeb-Socket接続を閉じ、リソースをクリーンアップすることです。現在、突堤をシャットダウンすると、そのステップでのみすべての放送局が削除されていることがわかります。1つのクライアントで10個のメッセージを送信すると、10個のブロードキャスターがWebサービスにハングアップします。ブロードキャスターで.destroy()を試しましたが、実際には機能していませんでした。クライアント側の接続も破棄しようとしましたが、成功しませんでした。
私の購読は:
@GET
@Suspend
public SuspendResponse<String> subscribe(){
....
Broadcaster broadcaster = BroadcasterFactory.getDefault().get("/"+path+"/"+id);
...somecallback here....
@Override
public void onMessage(String message) {
broadcaster.broadcast(message);
//here I want to destroy broadcaster and cleanup resources.
}
return new SuspendResponse.SuspendResponseBuilder<String>()
.broadcaster(broadcaster)
.outputComments(true)
.build();
}
このアプローチも間違っている可能性があり、物事を機能させる他の方法があると思います。何か案は?ありがとう!