From ac9df0dd46640179869cc8285b9aadff0e88e242 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 6 Feb 2017 15:35:36 +0300 Subject: juick-xmpp: spring-managed ConnectionRouter --- .../com/juick/components/s2s/ConnectionRouter.java | 27 +++++++--------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'juick-xmpp/src/main/java/com/juick/components/s2s') diff --git a/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java b/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java index 16c2019a..61b216db 100644 --- a/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java +++ b/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java @@ -6,8 +6,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rocks.xmpp.addr.Jid; import rocks.xmpp.core.XmppException; -import rocks.xmpp.core.session.Extension; -import rocks.xmpp.core.session.XmppSessionConfiguration; import rocks.xmpp.core.stanza.model.Message; import rocks.xmpp.core.stanza.model.Stanza; import rocks.xmpp.extensions.component.accept.ExternalComponent; @@ -27,7 +25,7 @@ import java.util.List; /** * @author ugnich */ -public class ConnectionRouter implements Runnable, AutoCloseable { +public class ConnectionRouter implements AutoCloseable { private static final Logger logger = LoggerFactory.getLogger(ConnectionRouter.class); @@ -37,20 +35,13 @@ public class ConnectionRouter implements Runnable, AutoCloseable { private ExternalComponent router; private XMPPServer xmpp; - public ConnectionRouter(XMPPServer s2s, String componentName, int componentPort, String password) throws Exception { + public ConnectionRouter(XMPPServer s2s, String componentName, int componentPort, String password) { this.xmpp = s2s; this.componentName = componentName; this.componentPort = componentPort; this.password = password; - } - - @Override - public void run() { logger.info("stream router start"); - XmppSessionConfiguration configuration = XmppSessionConfiguration.builder() - .extensions(Extension.of(com.juick.Message.class)) - .build(); - router = ExternalComponent.create(componentName, password, configuration, "localhost", componentPort); + router = ExternalComponent.create(componentName, password, xmpp.getSession().getConfiguration(), "localhost", componentPort); router.addInboundMessageListener(e -> { Message message = e.getMessage(); Jid jid = message.getTo(); @@ -74,13 +65,11 @@ public class ConnectionRouter implements Runnable, AutoCloseable { route(jid.getDomain(), message); } }); - xmpp.service.submit(() -> { - try { - router.connect(); - } catch (XmppException e) { - logger.warn("xmpp exception", e); - } - }); + try { + router.connect(); + } catch (XmppException e) { + logger.warn("xmpp exception", e); + } } void route(String domain, Stanza stanza) { -- cgit v1.2.3