1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-22 14:22:05 +01:00

Use Async.go() in ReconnectionManager

This commit is contained in:
Florian Schmaus 2015-01-10 01:12:37 +01:00
parent 8c8ac546a9
commit 8f8e0c7138
2 changed files with 21 additions and 6 deletions

View file

@ -18,6 +18,7 @@ package org.jivesoftware.smack;
import org.jivesoftware.smack.XMPPException.StreamErrorException; import org.jivesoftware.smack.XMPPException.StreamErrorException;
import org.jivesoftware.smack.packet.StreamError; import org.jivesoftware.smack.packet.StreamError;
import org.jivesoftware.smack.util.Async;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.Map; import java.util.Map;
@ -250,10 +251,8 @@ public class ReconnectionManager {
if (reconnectionThread != null && reconnectionThread.isAlive()) if (reconnectionThread != null && reconnectionThread.isAlive())
return; return;
reconnectionThread = new Thread(reconnectionRunnable); reconnectionThread = Async.go(reconnectionRunnable,
reconnectionThread.setName("Smack Reconnection Manager (" + connection.getConnectionCounter() + ')'); "Smack Reconnection Manager (" + connection.getConnectionCounter() + ')');
reconnectionThread.setDaemon(true);
reconnectionThread.start();
} }
private final ConnectionListener connectionListener = new AbstractConnectionListener() { private final ConnectionListener connectionListener = new AbstractConnectionListener() {

View file

@ -18,15 +18,31 @@ package org.jivesoftware.smack.util;
public class Async { public class Async {
public static void go(Runnable runnable) { /**
* Creates a new thread with the given Runnable, marks it daemon, starts it and returns the started thread.
*
* @param runnable
* @return the started thread.
*/
public static Thread go(Runnable runnable) {
Thread thread = daemonThreadFrom(runnable); Thread thread = daemonThreadFrom(runnable);
thread.start(); thread.start();
return thread;
} }
public static void go(Runnable runnable, String threadName) { /**
* Creates a new thread with the given Runnable, marks it daemon, sets the name, starts it and returns the started
* thread.
*
* @param runnable
* @param threadName the thread name.
* @return the started thread.
*/
public static Thread go(Runnable runnable, String threadName) {
Thread thread = daemonThreadFrom(runnable); Thread thread = daemonThreadFrom(runnable);
thread.setName(threadName); thread.setName(threadName);
thread.start(); thread.start();
return thread;
} }
public static Thread daemonThreadFrom(Runnable runnable) { public static Thread daemonThreadFrom(Runnable runnable) {