Приложение Rerunning всегда выдает java.net.BindException и перезагружает сервер - PullRequest
0 голосов
/ 30 мая 2018

Я создал веб-приложение Java, в котором есть прослушиватель приложения, и этот прослушиватель создает поток в инициализированном контексте, который создает ServerSocket, который принимает новые подключения в цикле.

Проблема заключается в том, что каждый раз, когда я повторно запускаю приложение, оно выдает мне java.net.BindException: адрес уже используется (сбой привязки).Я закрыл ServerSocket и не знаю, что еще делать.Вот мой код:

@Override
public void run() {
    int port = Integer.parseInt(conf.getConf("port"));

    try (ServerSocket serverSocket = new ServerSocket(port)) {
        while (work) {
                Socket socket = serverSocket.accept();
                System.out.println("User connected!");
                WorkThread workThread = new WorkThread(conf, socket, bpk);
                workThread.start();
            }
        }
    } catch (IOException ex) {
        Logger.getLogger(SocketThread.class.getName()).log(Level.SEVERE, null, ex);
    }
}

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...