Конечная точка JAX-WS не останавливается - PullRequest
0 голосов
/ 31 января 2019

У меня есть некоторые проблемы с программой JAX-WS.Прежде всего, все работает нормально: я могу опубликовать конечную точку, а также остановить ее с помощью метода stop ().Однако здесь есть проблема: программа может изменить URI, под которым она публикует сервис.Однако, как только это происходит, служба внезапно становится доступной как по новому URI, так и по старому.И даже более странно: даже если я закрою программу и перезапущу ее: как только я запускаю веб-сервис, он все равно будет доступен под обоими URI.Я надеюсь, что кто-то имеет представление о том, как это исправить.При взгляде на код: класс XMLProperties просто записывает новый URI в файл XML.Он также хранит текущий URI.Так что эта часть работает нормально.Я проверял это.Также кнопки запуска и остановки работают нормально.Как только я нажимаю кнопку «Стоп», веб-служба останавливается.Однако, как я уже упоминал, как только я его запустил, он также доступен под старым URI.Если я изменю URI несколько раз, служба будет доступна для всех URI.Если я остановлюсь, все URI перестанут работать.

static Endpoint endpoint;

public void handleButtonStart() {
    endpoint = Endpoint.create(new TestImpl());
    endpoint.publish(XMLProperties.URI);
}

public void handleButtonStop() {
    endpoint.stop();
    endpoint = null;
}

public void handleButtonPropertiesSave() {
    XMLProperties.writeProperties();
    if(endpoint != null && endpoint.isPublished()) {
        handleButtonStop();
        handleButtonStart();
    }
    JOptionPane.showMessageDialog(null, "Changes saved! Server restarted if it was running.");
}

Итак, я хочу, чтобы конечная точка изменила URI публикации.

...