diff --git a/Partner-Core/src/main/java/work/slhaf/partner/Main.java b/Partner-Core/src/main/java/work/slhaf/partner/Main.java index 395d96b3..edc6e39c 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/Main.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/Main.java @@ -6,9 +6,12 @@ import work.slhaf.partner.runtime.gateway.WebSocketGatewayRegistration; public class Main { public static void main(String[] args) { - Agent.newAgent(Main.class) + boolean launched = Agent.newAgent(Main.class) .addGatewayRegistration(WebSocketGatewayRegistration.INSTANCE) .addConfigurable(new VectorClientRegistry()) .launch(); + if (!launched) { + System.exit(1); + } } } diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentContext.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentContext.kt index e740bcfc..e79b832c 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentContext.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentContext.kt @@ -13,6 +13,8 @@ import java.time.ZonedDateTime object AgentContext { + private val log = LoggerFactory.getLogger(this::class.java) + private val _modules = mutableMapOf>() @@ -156,7 +158,6 @@ object AgentContext { } fun trigger(hooks: List, instances: Instances) { - val log = LoggerFactory.getLogger(AgentContext::class.java) hooks.sortedBy { it.order } .forEach { try { @@ -168,7 +169,6 @@ object AgentContext { } fun triggerLifecycleHooks(hooks: List) { - val log = LoggerFactory.getLogger(AgentContext::class.java) hooks.sortedBy { it.order } .forEach { try { @@ -180,6 +180,7 @@ object AgentContext { } Runtime.getRuntime().addShutdownHook(Thread { + log.info("Shutdown hooks triggering...") val instances = computeInstances() triggerLifecycleHooks(preShutdownHooks) shutdownHooks[ShutdownHookDesc.Type.RUNNING]?.let { trigger(it, instances) } @@ -188,6 +189,7 @@ object AgentContext { shutdownHooks[ShutdownHookDesc.Type.SUB]?.let { trigger(it, instances) } shutdownHooks[ShutdownHookDesc.Type.CAPABILITY]?.let { trigger(it, instances) } triggerLifecycleHooks(postShutdownHooks) + log.info("Shutdown hooks triggered...") }) }