SetNetworkSettingsService.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:osc-core 作者:
@Override
public SetNetworkSettingsResponse exec(SetNetworkSettingsRequest request, EntityManager em) throws Exception {

    NetworkSettingsApi networkSettingsApi = new NetworkSettingsApi();
    NetworkSettingsDto networkSettingsDto = new NetworkSettingsDto();
    networkSettingsDto.setDhcp(request.isDhcp());
    if (!request.isDhcp()) {
        networkSettingsDto.setHostIpAddress(request.getHostIpAddress());
        networkSettingsDto.setHostSubnetMask(request.getHostSubnetMask());
        networkSettingsDto.setHostDefaultGateway(request.getHostDefaultGateway());
        networkSettingsDto.setHostDnsServer1(request.getHostDnsServer1());
        networkSettingsDto.setHostDnsServer2(request.getHostDnsServer2());
        validate(request);
    }
    boolean isIpChanged = !NetworkUtil.getHostIpAddress().equals(request.getHostIpAddress());

    if(isIpChanged) {
        // If IP is changed, these connections are no longer valid, shutdown so they get restarted again.
        this.server.shutdownRabbitMq();
        this.server.shutdownWebsocket();
    }

    networkSettingsApi.setNetworkSettings(networkSettingsDto);
    SetNetworkSettingsResponse response = new SetNetworkSettingsResponse();

    /*
     * IP address change needs to get propagated to security managers
     */
    if (isIpChanged) {
        response.setJobId(startIpPropagateJob());
        this.server.startRabbitMq();
        this.server.startWebsocket();
    }

    return response;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号