blob: 2feef28648228165ff0699233dc7c6a74156d276 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
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();
}
@Bean
public XMPPRouter xmppRouter() {
return new XMPPRouter();
}
@Bean
@DependsOn("xmppRouter")
public XMPPConnection xmppConnection() {
return new XMPPConnection();
}
}
|