Frage

ich den Quellcode der Smack api zu lesen und die die Methode XMPPConnection # disconnect sieht wie folgt aus:

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;
}

In meinem Szenario, ich bin Speicher eine Live-XMPPConnection innerhalb einer Klasse namens Session. Ein separater Ausführungs-Thread versucht, meine Instanz XMPPConnection zu schließen, indem Session # shutdown () aufrufe . Wie ich es sehe, werde ich muss kooperativ Session erzählen die XMPPConnection durch den Erwerb einer Mutex oder etwas zu schließen. Richtig?

War es hilfreich?

Lösung

Sieht aus wie es ein bekannte Fehler .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top