У меня есть простой проект для тестирования сервисов JAX-RS. Вчера я загрузил jersey-1.7.1 и использовал com.sun.jersey.api.container.httpserver.HttpServerFactory и com.sun.net.httpserver.HttpServer для создания http-сервера для тестирования моих служб изнутри eclipse (с тяжелым весовой контейнер)
Сегодня я загрузил последние трикотажные банки (jaxrs-ri), и HttpServerFactory отсутствует. Похоже, они удалили класс между 1.7.1 => 2.0, но я не могу найти его в устаревшем разделе. Я вижу классы grizzly2 в разделе API (возможно, это то, что я должен использовать сейчас), но ни один из jar-файлов в комплекте jaxrs-ri не предоставляет эти классы. Я загрузил банку jersey-grizzly 1.12, но в ней есть только классы com/sun/jersey/server/impl/container/grizzly2/GrizzlyContainer и нет реализации.
Так что вопрос к добрым душам
1 - с последними jar-файлами jaxrs-ri со страницы загрузки Джерси, каков рекомендуемый способ создания простого http-сервера для тестирования из командной строки, если способ 1.7.1 устарел. какие банки загружать/включать и, возможно, короткий пример кода?
2. Вся документация по созданию простой службы REST с использованием java представляет собой большой беспорядок. Так как же найти нужную информацию?
(На самом деле, это не шутка. Возможно, для этого потребуется отдельный пост в блоге — просто посмотрите на беспорядок, измененный API, отсутствие информации об устаревших функциях, различия в реализации, например, CXF против трикотажа, API 1.x против API 2.0, Контейнер Glassfish v xy против Tomcat, версия x из y против версии x2 из y, сервлет 3.0 будет иметь этот файл, расширяете ли вы приложение или нет!)
Обновить
рабочий пример с сервером JDKHttp
package test.jersey;
import java.net.URI;
import com.sun.net.httpserver.HttpServer;
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory ;
import org.glassfish.jersey.server.ResourceConfig;
public class ConsoleServerV2 {
static final String BASE_URI = "http://localhost:9099/";
public static void main(String[] args) throws Exception {
HttpServer server = null ;
ResourceConfig rc = new ResourceConfig(rest.Service.class);
URI endpoint = new URI(BASE_URI);
server = JdkHttpServerFactory.createHttpServer(endpoint,rc);
System.out.println("console v2.0 : Press Enter to stop the server. ");
System.in.read();
server.stop(0);
}
}