From 5197e396c58e8e2ff862666f47f6fb6ab43b64ca Mon Sep 17 00:00:00 2001 From: itsmefox Date: Thu, 14 Apr 2022 22:27:11 +0200 Subject: [PATCH] fix: not loading aluna properties during scope creation chore: 0.0.12_5.0.0-alpha.9 --- build.gradle | 2 +- .../bot/starter/configuration/scope/CommandScope.kt | 13 +++++++++---- .../scope/ScopeBeanFactoryPostProcessor.kt | 6 ++---- .../bot/starter/configuration/scope/ScopeConfig.kt | 5 ++--- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index afb639d..07621a8 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ plugins { } group "io.viascom.discord.bot" -version "0.0.11_5.0.0-alpha.9" +version "0.0.12_5.0.0-alpha.9" sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 diff --git a/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/CommandScope.kt b/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/CommandScope.kt index aec6f39..637ba2e 100644 --- a/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/CommandScope.kt +++ b/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/CommandScope.kt @@ -4,7 +4,6 @@ import com.aventrix.jnanoid.jnanoid.NanoIdUtils import io.viascom.discord.bot.starter.bot.DiscordBot import io.viascom.discord.bot.starter.bot.handler.CommandScopedObject import io.viascom.discord.bot.starter.bot.listener.EventWaiter -import io.viascom.discord.bot.starter.property.AlunaProperties import io.viascom.discord.bot.starter.util.AlunaThreadPool import net.dv8tion.jda.internal.interactions.CommandDataImpl import org.slf4j.Logger @@ -16,17 +15,23 @@ import org.springframework.core.NamedInheritableThreadLocal import java.time.LocalDateTime import java.util.* import java.util.concurrent.ScheduledFuture +import java.util.concurrent.ScheduledThreadPoolExecutor import java.util.concurrent.TimeUnit -class CommandScope(private val context: ConfigurableApplicationContext, private val alunaProperties: AlunaProperties) : Scope { +class CommandScope(private val context: ConfigurableApplicationContext) : Scope { val logger: Logger = LoggerFactory.getLogger(javaClass) private val scopedObjects = Collections.synchronizedMap(HashMap>>()) - private val scopedObjectsTimeoutScheduler = - AlunaThreadPool.getScheduledThreadPool(alunaProperties.thread.scopedObjectsTimeoutScheduler, "Aluna-Scoped-Objects-Timeout-Pool-%d", true) + private var scopedObjectsTimeoutScheduler: ScheduledThreadPoolExecutor + private val scopedObjectsTimeoutScheduledTask = Collections.synchronizedMap(HashMap>()) + init { + val scopedObjectsTimeoutScheduler = context.environment.getProperty("aluna.thread.scoped-objects-timeout-scheduler", Int::class.java, 2) + this.scopedObjectsTimeoutScheduler = AlunaThreadPool.getScheduledThreadPool(scopedObjectsTimeoutScheduler, "Aluna-Scoped-Objects-Timeout-Pool-%d", true) + } + override fun get(name: String, objectFactory: ObjectFactory<*>): Any { //If state id is not set, a new instance is returned if (DiscordContext.discordState?.id == null) { diff --git a/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeBeanFactoryPostProcessor.kt b/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeBeanFactoryPostProcessor.kt index 01e9579..4b8977e 100644 --- a/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeBeanFactoryPostProcessor.kt +++ b/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeBeanFactoryPostProcessor.kt @@ -1,17 +1,15 @@ package io.viascom.discord.bot.starter.configuration.scope -import io.viascom.discord.bot.starter.property.AlunaProperties import org.springframework.beans.factory.config.BeanFactoryPostProcessor import org.springframework.beans.factory.config.ConfigurableListableBeanFactory import org.springframework.context.ConfigurableApplicationContext open class ScopeBeanFactoryPostProcessor( - private val context: ConfigurableApplicationContext, - private val alunaProperties: AlunaProperties + private val context: ConfigurableApplicationContext ) : BeanFactoryPostProcessor { override fun postProcessBeanFactory(factory: ConfigurableListableBeanFactory) { - factory.registerScope("command", CommandScope(context, alunaProperties)) + factory.registerScope("command", CommandScope(context)) } } diff --git a/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeConfig.kt b/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeConfig.kt index 85ef937..4f6f7ba 100644 --- a/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeConfig.kt +++ b/src/main/kotlin/io/viascom/discord/bot/starter/configuration/scope/ScopeConfig.kt @@ -1,6 +1,5 @@ package io.viascom.discord.bot.starter.configuration.scope -import io.viascom.discord.bot.starter.property.AlunaProperties import org.springframework.beans.factory.config.BeanFactoryPostProcessor import org.springframework.context.ConfigurableApplicationContext import org.springframework.context.annotation.Bean @@ -10,8 +9,8 @@ import org.springframework.context.annotation.Configuration open class ScopeConfig { @Bean - open fun beanFactoryPostProcessor(context: ConfigurableApplicationContext, alunaProperties: AlunaProperties): BeanFactoryPostProcessor { - return ScopeBeanFactoryPostProcessor(context, alunaProperties) + open fun beanFactoryPostProcessor(context: ConfigurableApplicationContext): BeanFactoryPostProcessor { + return ScopeBeanFactoryPostProcessor(context) } }