feat: Add Spring Boot auto-configuration for lm-lib modules

- Introduced auto-configuration classes for profile, client, agent, and prompt modules.
- Updated README to reflect new modular architecture and configuration properties.
- Added selective enabling/disabling of modules via application properties.
- Refactored existing services and strategies to remove unnecessary Spring annotations.
- Enhanced test configurations to utilize auto-configuration.
- Updated META-INF imports to include new auto-configuration classes.
This commit is contained in:
extio-de
2026-01-05 21:58:12 +01:00
parent b17a1fe517
commit d5898e35f5
35 changed files with 428 additions and 90 deletions

View File

@@ -0,0 +1,22 @@
package de.extio.lmlib.agent;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import de.extio.lmlib.client.ClientAutoConfiguration;
@AutoConfiguration
@AutoConfigureAfter(ClientAutoConfiguration.class)
@ConditionalOnProperty(prefix = "lmlib.agent", name = "enabled", havingValue = "true", matchIfMissing = true)
public class AgentAutoConfiguration {
@Bean
@ConditionalOnMissingBean
AgentExecutorService agentExecutorService() {
return new AgentExecutorService();
}
}

View File

@@ -15,12 +15,10 @@ import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import de.extio.lmlib.client.Client;
import de.extio.lmlib.client.ClientService;
@Service
public class AgentExecutorService implements InitializingBean, DisposableBean {
private static final Logger LOGGER = LoggerFactory.getLogger(AgentExecutorService.class);