Handle AlreadyLoggedInException in ReconnectionManager

Fixes SMACK-725.
This commit is contained in:
Florian Schmaus 2016-07-01 08:18:56 +02:00
parent fb55b9065f
commit e943bbbd91
1 changed files with 6 additions and 0 deletions

View File

@ -250,6 +250,12 @@ public class ReconnectionManager {
// Successfully reconnected.
attempts = 0;
}
catch (SmackException.AlreadyLoggedInException e) {
// This can happen if another thread concurrently triggers a reconnection
// and/or login. Obviously it should not be handled as a reconnection
// failure. See also SMACK-725.
LOGGER.log(Level.FINER, "Reconnection not required, was already logged in", e);
}
catch (SmackException | IOException | XMPPException e) {
// Fires the failed reconnection notification
for (ConnectionListener listener : connection.connectionListeners) {