aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/xmpp/s2s/Shutdown.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2016-01-26 20:09:27 +0300
committerGravatar Vitaly Takmazov2016-01-26 20:09:27 +0300
commit75d80dc433348435c1f8e11fafb0d1deda1ca793 (patch)
treec06a67e2bcf6e10bf12f7caabcd43280df2d91ab /src/main/java/com/juick/xmpp/s2s/Shutdown.java
parentbace08c34252bffd3a575ca86b2b2f420165a81b (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.java45
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);
+ }
+ }
+ }
+ }
+}