このXMPPコードがスレッドセーフでないことを確認してください。
-
06-09-2019 - |
質問
私はスマックAPIにソースコードを読んでいると方法XMPPConnection#の切断のは、次のようになります:
public void disconnect(Presence unavailablePresence) {
// If not connected, ignore this request.
if (packetReader == null || packetWriter == null) {
return;
}
shutdown(unavailablePresence);
if (roster != null) {
roster.cleanup();
roster = null;
}
wasAuthenticated = false;
packetWriter.cleanup();
packetWriter = null;
packetReader.cleanup();
packetReader = null;
}
私のシナリオでは、私はセッションと呼ばれるクラス内のライブXMPPConnectionを格納しています。 実行の別のスレッドは、セッション#のシャットダウン()のを呼び出すことによってXMPPConnectionの私のインスタンスを閉じようとします。私はそれを見るように、私は、協働してミューテックスか何かを取得することでXMPPConnectionを閉じるために、セッションを指示する必要があります。正しい?
解決
それは既知のバグのだと同様に
見えます。
所属していません StackOverflow