很简单也很容易就解决了上述需求。主要是我们思路是我们在启动springboot的run方法之前,先进行端口检测,如果端口不通或者有异常的话,那就没有必要启动springboot服务了。也达到我们所需要的目的了。
springboot启动类中添加websocket连接
总结:上面使用简单的代码简单实现了我们想要的功能,但是这只是在服务启动的时候检测了服务是否可用。留下一个思考题,在过程中接口不可用数据如何回滚?
在启动类中添加方法
public class BacksystemApplication {
private static final Logger logger= LoggerFactory.getLogger(BacksystemApplication.class);
public static void main(String[] args) {
Socket socket=new Socket();
SocketAddress socketAddress=new InetSocketAddress('192.172.0.99',9001);
try {
socket.connect(socketAddress);
SpringApplication.run(BacksystemApplication.class, args);
logger.info('XXXX系统启动成功。');
}catch (IOException e){
logger.error('服务启动失败,连接XXXX服务失败,请检查负服务是否开启!');
}finally {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
文章为作者独立观点,不代表股票交易接口观点