Por favor, confirme que el código XMPP no es multi-hilo
-
06-09-2019 - |
Pregunta
Estoy leyendo el código fuente de la API y la Smack el método XMPPConnection # Desconectar es el siguiente:
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;
}
En mi caso, estoy almacenando un XMPPConnection vivo dentro de una clase llamada Sesión. Un hilo de ejecución separado intentará cerrar la instancia de XMPPConnection llamando Sesión # shutdown () . Tal como lo veo, voy a tener que contar cooperativamente sesión para cerrar la XMPPConnection mediante la adquisición de un mutex o algo así. Correcta?
Solución
Parece que se trata de una conocida fallo .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow