diff options
Diffstat (limited to 'src/main/java/com/juick/XMPPManager.java')
-rw-r--r-- | src/main/java/com/juick/XMPPManager.java | 50 |
1 files changed, 32 insertions, 18 deletions
diff --git a/src/main/java/com/juick/XMPPManager.java b/src/main/java/com/juick/XMPPManager.java index 4ff99787..7b881420 100644 --- a/src/main/java/com/juick/XMPPManager.java +++ b/src/main/java/com/juick/XMPPManager.java @@ -32,15 +32,15 @@ import com.juick.util.xmpp.iq.MessageQuery; import com.juick.www.WebApp; import com.juick.www.api.SystemActivity; import jakarta.annotation.PostConstruct; -import jakarta.annotation.PreDestroy; -import lombok.RequiredArgsConstructor; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; +import org.springframework.stereotype.Component; import rocks.xmpp.addr.Jid; import rocks.xmpp.core.XmppException; import rocks.xmpp.core.session.Extension; @@ -70,6 +70,7 @@ import rocks.xmpp.extensions.version.SoftwareVersionManager; import rocks.xmpp.extensions.version.model.SoftwareVersion; import javax.annotation.Nonnull; +import javax.inject.Inject; import java.io.IOException; import java.net.MalformedURLException; import java.net.URI; @@ -87,27 +88,41 @@ import java.util.concurrent.Executor; /** * @author ugnich */ -@RequiredArgsConstructor public class XMPPManager implements NotificationListener { private static final Logger logger = LoggerFactory.getLogger("XMPP"); private ExternalComponent xmpp; - private final CommandsManager commandsManager; - private final Jid jid; - private final String componentName; - private final int componentPort; - private final String componentHost; - private final String password; - private final StorageService storageService; - private final Resource vCardImage; - - private final MessagesService messagesService; - private final UserService userService; - private final PMQueriesService pmQueriesService; - private final Executor applicationTaskExecutor; - private final WebApp webApp; + @Value("${xmppbot_jid:juick@localhost}") + private String botJid; + @Value("${hostname:localhost}") + private String componentName; + @Value("${component_port:5347}") + private int componentPort; + @Value("${component_host:localhost}") + private String componentHost; + @Inject + private CommandsManager commandsManager; + @Value("${xmpp_password:secret}") + private String password; + @Value("classpath:juick.png") + private Resource vCardImage; + @Inject + private StorageService storageService; + @Inject + private MessagesService messagesService; + @Inject + private UserService userService; + @Inject + private PMQueriesService pmQueriesService; + @Inject + private Executor applicationTaskExecutor; + @Inject + private WebApp webApp; + + private Jid jid; @PostConstruct public void init() { + jid = Jid.of(botJid); logger.info("xmpp component start connecting to {}", componentPort); XmppSessionConfiguration configuration = XmppSessionConfiguration.builder() .extensions(Extension.of(com.juick.model.Message.class), Extension.of(MessageQuery.class)) @@ -615,7 +630,6 @@ public class XMPPManager implements NotificationListener { }); } - @PreDestroy public void close() throws Exception { broadcastPresence(Presence.Type.UNAVAILABLE); if (xmpp != null) { |