ServiceLoader.load换成SpiUtil.loadList

This commit is contained in:
Looly
2025-04-18 12:23:23 +08:00
parent 07739d72db
commit bedfa07a8a
2 changed files with 7 additions and 4 deletions

View File

@@ -19,9 +19,10 @@ package cn.hutool.v7.ai;
import cn.hutool.v7.ai.core.AIConfig; import cn.hutool.v7.ai.core.AIConfig;
import cn.hutool.v7.ai.core.AIService; import cn.hutool.v7.ai.core.AIService;
import cn.hutool.v7.ai.core.AIServiceProvider; import cn.hutool.v7.ai.core.AIServiceProvider;
import cn.hutool.v7.core.spi.ServiceLoader;
import cn.hutool.v7.core.spi.SpiUtil;
import java.util.Map; import java.util.Map;
import java.util.ServiceLoader;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
@@ -36,7 +37,7 @@ public class AIServiceFactory {
// 加载所有 AIModelProvider 实现类 // 加载所有 AIModelProvider 实现类
static { static {
final ServiceLoader<AIServiceProvider> loader = ServiceLoader.load(AIServiceProvider.class); final ServiceLoader<AIServiceProvider> loader = SpiUtil.loadList(AIServiceProvider.class);
for (final AIServiceProvider provider : loader) { for (final AIServiceProvider provider : loader) {
providers.put(provider.getServiceName().toLowerCase(), provider); providers.put(provider.getServiceName().toLowerCase(), provider);
} }

View File

@@ -16,8 +16,10 @@
package cn.hutool.v7.ai.core; package cn.hutool.v7.ai.core;
import cn.hutool.v7.core.spi.ServiceLoader;
import cn.hutool.v7.core.spi.SpiUtil;
import java.util.Map; import java.util.Map;
import java.util.ServiceLoader;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
@@ -32,7 +34,7 @@ public class AIConfigRegistry {
// 加载所有 AIConfig 实现类 // 加载所有 AIConfig 实现类
static { static {
final ServiceLoader<AIConfig> loader = ServiceLoader.load(AIConfig.class); final ServiceLoader<AIConfig> loader = SpiUtil.loadList(AIConfig.class);
for (final AIConfig config : loader) { for (final AIConfig config : loader) {
configClasses.put(config.getModelName().toLowerCase(), config.getClass()); configClasses.put(config.getModelName().toLowerCase(), config.getClass());
} }