package com.ard.utils.netty.tcp;
|
|
import com.ard.alarm.radar.domain.ArdEquipRadar;
|
import com.ard.alarm.radar.service.IArdEquipRadarService;
|
import com.ard.utils.netty.config.NettyTcpConfiguration;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.PostConstruct;
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import static com.ard.utils.netty.tcp.RadarNettyTcpClient.RADAR_MAP;
|
|
@Component
|
@Slf4j(topic = "netty")
|
public class NettyInit {
|
@Resource
|
NettyTcpConfiguration nettyTcpConfig;
|
@Resource
|
private RadarNettyTcpClient radarNettyTcpClient;
|
@Resource
|
IArdEquipRadarService ardEquipRadarService;
|
@PostConstruct
|
public void createRadarConnect() {
|
try {
|
if (!nettyTcpConfig.getEnabled()) {
|
return;
|
}
|
List<Map<String, Object>> list = new ArrayList<>();
|
List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar());
|
for (ArdEquipRadar ardEquipRadar : ardEquipRadars) {
|
String host = ardEquipRadar.getIp();
|
Integer port = Integer.valueOf(ardEquipRadar.getPort());
|
Map<String,Object> mapParam =new HashMap<String, Object>();
|
mapParam.put("IP",host);
|
mapParam.put("PORT",port);
|
list.add(mapParam);
|
RADAR_MAP.put(host+":"+port,ardEquipRadar);
|
}
|
radarNettyTcpClient.initAllChannel(list);
|
}catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|