package com.ard.work.component.forest;
|
|
import com.ard.work.domain.entity.ArdServerInfo;
|
import com.ard.work.service.IArdServerInfoService;
|
import com.dtflys.forest.callback.AddressSource;
|
import com.dtflys.forest.http.ForestAddress;
|
import com.dtflys.forest.http.ForestRequest;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
|
@Slf4j
|
@Component
|
public class MyAddressSource implements AddressSource {
|
|
@Resource
|
private IArdServerInfoService ardServerService;
|
@Override
|
public ForestAddress getAddress(ForestRequest request) {
|
String serverKey = request.varAsString("serverId");
|
if(serverKey == null){
|
log.warn("请求属性serverId为空");
|
return null;
|
}
|
ArdServerInfo serverInfo = ardServerService.selectArdServerInfoById(serverKey);
|
if(serverInfo == null){
|
log.warn("边缘服务器不存在");
|
return null;
|
}
|
// 返回 Forest 地址对象
|
return new ForestAddress(serverInfo.getHost(), serverInfo.getHttpPort());
|
}
|
}
|