Мы используем Jetty 9.3 и публикуем несколько конечных точек webservice (используя Endpoint.publish). Однако я не уверен, как публиковать некоторые из них на другом TCP-порту.Jetty публикует конечные точки на нескольких портах TCP
Endpoint публикации:
endpoint = Endpoint.publish("http://0.0.0.0:8081/services/Service1"), service1);
endpoint = Endpoint.publish("http://0.0.0.0:8081/services/Service2"), service2);
endpoint = Endpoint.publish("http://0.0.0.0:8082/services/Service3"), service3);
Ожидая: Make Service 1 и 2 доступны на порту 8081 и только 8081 и service3 на порту 8082 и только 8082.
Актуально: Все три услуги доступный на обоих портах TCP.
Настройка использовать наш встроенный причал с помощью:
JettyHttpServerProvider.setServer(jettyWebServer);
System.setProperty("com.sun.net.httpserver.HttpServerProvider", JettyHttpServerProvider.class.getName());
Для полноты Пристани веб-сервер инициализация:
jettyWebServer = new Server(new DelegatingThreadPool(new QueuedThreadPool()));
ServerConnector connector = new ServerConnector(jettyWebServer);
//connector.setHost();
connector.setPort(8081);
jettyWebServer.addConnector(connector);
бы добавить это для второго порта еще публикация Endpoint не будет работать на Обслуживание3:
connector = new ServerConnector(jettyWebServer);
//connector.setHost(...);
connector.setPort(8082);
jettyWebServer.addConnector(connector);
ContextHandlerCollection contexts = new ContextHandlerCollection();
jettyWebServer.setHandler(contexts);
Но тогда все три доступны на обоих портах 8081 и 8082. C an't настроил более одного экземпляра сервера причала, чтобы справиться с этим, кажется, доступен только один набор доступных методов: JettyHttpServerProvider.setServer(...)
, без добавления или подобного.
Любая помощь приветствуется.
Спасибо, отлично работает. Почти чрезмерно отличный ответ, хорошо сделано и очень ценится. –