| | |
| | | package com.ard.work.component.forest; |
| | | |
| | | import com.ard.work.domain.entity.ArdServerInfo; |
| | | import com.ard.work.service.IArdServerService; |
| | | 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 IArdServerService ardServerService; |
| | | private IArdServerInfoService ardServerService; |
| | | @Override |
| | | public ForestAddress getAddress(ForestRequest request) { |
| | | String serverKey = request.varAsString("serverId"); |
| | | ArdServerInfo serverInfo = ardServerService.selectArdServerManagementById(serverKey); |
| | | 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()); |
| | | } |