diff options
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/configuration/XMPPConfig.java')
-rw-r--r-- | juick-server/src/main/java/com/juick/server/configuration/XMPPConfig.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/server/configuration/XMPPConfig.java b/juick-server/src/main/java/com/juick/server/configuration/XMPPConfig.java index e1115c7e..2feef286 100644 --- a/juick-server/src/main/java/com/juick/server/configuration/XMPPConfig.java +++ b/juick-server/src/main/java/com/juick/server/configuration/XMPPConfig.java @@ -2,15 +2,43 @@ package com.juick.server.configuration; import com.juick.server.XMPPConnection; import com.juick.server.XMPPServer; +import com.juick.server.xmpp.JidConverter; +import com.juick.server.xmpp.iq.MessageQuery; import com.juick.server.xmpp.router.XMPPRouter; +import com.juick.server.xmpp.s2s.BasicXmppSession; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; +import org.springframework.core.convert.ConversionService; +import org.springframework.format.support.DefaultFormattingConversionService; +import rocks.xmpp.core.session.Extension; +import rocks.xmpp.core.session.XmppSessionConfiguration; +import rocks.xmpp.core.session.debug.LogbackDebugger; + +import java.time.Duration; @Configuration @ConditionalOnProperty("xmppbot_jid") public class XMPPConfig { + @Value("${hostname:localhost}") + private String hostname; + @Bean + public BasicXmppSession session() { + XmppSessionConfiguration configuration = XmppSessionConfiguration.builder() + .extensions(Extension.of(com.juick.Message.class), Extension.of(MessageQuery.class)) + .debugger(LogbackDebugger.class) + .defaultResponseTimeout(Duration.ofMillis(120000)) + .build(); + return BasicXmppSession.create(hostname, configuration); + } + @Bean + public static ConversionService conversionService() { + DefaultFormattingConversionService cs = new DefaultFormattingConversionService(); + cs.addConverter(new JidConverter()); + return cs; + } @Bean public XMPPServer xmppServer() { return new XMPPServer(); |