xiaohucoding #13
@ -4,20 +4,18 @@ import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.info.Info;
|
||||
import io.swagger.v3.oas.models.servers.Server;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 配置类,注册web层相关组件
|
||||
*/
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class WebMvcConfiguration{
|
||||
public class WebMvcConfiguration implements WebMvcConfigurer {
|
||||
|
||||
/**
|
||||
* 配置OpenAPI信息
|
||||
@ -36,12 +34,4 @@ public class WebMvcConfiguration{
|
||||
.servers(servers);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 设置静态资源映射(Springdoc不需要特殊配置,保留可能的其他资源映射)
|
||||
// */
|
||||
// @Override
|
||||
// protected void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
// // 保留其他静态资源映射(如果有)
|
||||
// // registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
||||
// }
|
||||
}
|
@ -12,7 +12,10 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Tag(name ="服务发布相关接口")
|
||||
@RestController
|
||||
@ -33,17 +36,15 @@ public class publishController {
|
||||
public OptResult<List<ServicePublishVO>> save(@RequestBody ServicePublishDTO servicePublishDTO) {
|
||||
log.info("模型发布请求:{}", servicePublishDTO);
|
||||
publishService.save(servicePublishDTO);
|
||||
Long modelId = servicePublishDTO.getModelId();
|
||||
String key = "Model_" + modelId;
|
||||
|
||||
|
||||
|
||||
//todo 调用模型部署
|
||||
|
||||
try {
|
||||
// 新增传递apiUrl参数
|
||||
nacosServiceUtil.registerService(
|
||||
servicePublishDTO.getModelId().toString(),
|
||||
servicePublishDTO.getIp(),
|
||||
8080
|
||||
8080,
|
||||
servicePublishDTO.getApiUrl()
|
||||
);
|
||||
log.info("Nacos服务注册成功");
|
||||
} catch (Exception e) {
|
||||
|
@ -6,16 +6,37 @@ import com.alibaba.nacos.api.naming.pojo.Instance;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
public class NacosServiceUtil {
|
||||
|
||||
@Value("${spring.cloud.nacos.discovery.server-addr}")
|
||||
private String nacosServerAddr;
|
||||
|
||||
public void registerService(String serviceName, String ip, int port) throws Exception {
|
||||
public void registerService(String serviceName, String ip, int port, String url) throws Exception { // 新增url参数
|
||||
NamingService naming = NamingFactory.createNamingService(nacosServerAddr);
|
||||
Instance instance = new Instance();
|
||||
instance.setIp(ip);
|
||||
instance.setPort(port);
|
||||
// 添加元数据存储URL
|
||||
Map<String, String> metadata = new HashMap<>();
|
||||
metadata.put("url", url); // 将URL存入元数据
|
||||
instance.setMetadata(metadata);
|
||||
naming.registerInstance(serviceName, instance);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取服务所有实例IP
|
||||
*/
|
||||
public List<String> getServiceInstances(String serviceName) throws Exception {
|
||||
NamingService naming = NamingFactory.createNamingService(nacosServerAddr);
|
||||
List<Instance> instances = naming.getAllInstances(serviceName);
|
||||
return instances.stream()
|
||||
.map(Instance::getIp)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user