diff options
author | Vitaly Takmazov | 2016-01-26 20:09:27 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2016-01-26 20:09:27 +0300 |
commit | 75d80dc433348435c1f8e11fafb0d1deda1ca793 (patch) | |
tree | c06a67e2bcf6e10bf12f7caabcd43280df2d91ab /src/main/java/com/juick/xmpp/s2s/Shutdown.java | |
parent | bace08c34252bffd3a575ca86b2b2f420165a81b (diff) |
import s2s component
Diffstat (limited to 'src/main/java/com/juick/xmpp/s2s/Shutdown.java')
-rw-r--r-- | src/main/java/com/juick/xmpp/s2s/Shutdown.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/com/juick/xmpp/s2s/Shutdown.java b/src/main/java/com/juick/xmpp/s2s/Shutdown.java new file mode 100644 index 00000000..fb3543f8 --- /dev/null +++ b/src/main/java/com/juick/xmpp/s2s/Shutdown.java @@ -0,0 +1,45 @@ +package com.juick.xmpp.s2s; + +import java.sql.SQLException; +import java.util.Iterator; + +/** + * + * @author ugnich + */ +public class Shutdown extends Thread { + + @Override + public void run() { + System.out.println("SHUTTING DOWN"); + + synchronized (XMPPComponent.outConnections) { + for (Iterator<ConnectionOut> i = XMPPComponent.outConnections.iterator(); i.hasNext();) { + ConnectionOut c = i.next(); + c.closeConnection(); + i.remove(); + } + } + + synchronized (XMPPComponent.inConnections) { + for (Iterator<ConnectionIn> i = XMPPComponent.inConnections.iterator(); i.hasNext();) { + ConnectionIn c = i.next(); + c.closeConnection(); + i.remove(); + } + } + + XMPPComponent.connRouter.closeConnection(); + + synchronized (XMPPComponent.sqlSync) { + if (XMPPComponent.sql != null) { + try { + XMPPComponent.sql.close(); + XMPPComponent.sql = null; + } catch (SQLException e) { + System.err.println("SQL ERROR: " + e); + } + } + } + } +} |