Pergunta

Estou lendo o código fonte para a api Bater eo método XMPPConnection # desconexão esta aparência:

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

Em meu cenário, eu sou armazenar um XMPPConnection vivo dentro de uma classe chamada Session. Um segmento separado da execução tentará fechar a minha instância de XMPPConnection chamando Session # shutdown () . A meu ver, eu vou ter que dizer cooperativamente Session para fechar a XMPPConnection por adquirir um mutex ou algo assim. Correto?

Foi útil?

Solução

Parece que é um conhecido bug .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top