Ho un progetto semplice per testare i servizi JAX-RS. Ieri ho scaricato jersey-1.7.1 e utilizzato com.sun.jersey.api.container.httpserver.HttpServerFactory e com.sun.net.httpserver.HttpServer per creare un server http per testare i miei servizi dall'interno di Eclipse (w/OA pesante peso del contenitore)jersey e JAX-RS RI2 - mancanti HttpServerFactory
Oggi, ho scaricato l'ultima vasetti Jersey (jaxrs-ri) e la HttpServerFactory manca. Sembra che abbiano rimosso la classe tra 1.7.1 => 2.0 ma non riesco a trovarla nella sezione deprecata. Vedo le classi grizzly2 nella sezione API (forse è quello che dovrei usare ora) ma nessuno dei barattoli nel gruppo jaxrs-ri fornisce quelle classi. Ho scaricato il jar jersey-grizzly da 1.12 ma ha solo classi com/sun/jersey/server/impl/container/grizzly2/GrizzlyContainer e nessuna implementazione.
Così domanda di anime gentili
1 - con gli ultimi barattoli jaxrs-ri dalla pagina di download jersey, qual è il metodo consigliato per creare un semplice server HTTP per testare da linea di comando, se il modo in cui ha 1.7.1 stato deprecato. quali barattoli scaricare/includere e magari un esempio di codice corto?
2 - Tutta la documentazione intorno creazione di un servizio REST semplice utilizzando Java è un gran casino. Quindi, come trovi le informazioni giuste?
(In realtà, questo non è uno scherzo, forse questo richiederebbe un post sul blog separato - basta guardare il pasticcio, cambiato API, nessuna informazione su funzionalità deprecate, diffs di implementazione, ad esempio CXF vs jersey, API 1.x vs API 2.0, Glassfish contenitore v xy contro Tomcat, la versione x di y vs. versione x2 di y, servlet 3.0 avrebbe avuto questo file, stai estendere l'applicazione o no!)
Aggiornamento
lavoro ad esempio con il server 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);
}
}
grazie. probabilmente questo è il percorso di minor resistenza. Ho aggiornato la domanda con un campione funzionante. – rjha94
Sto provando questo ed eseguendo NoClassDefFoundError: com/google/common/base/Function in fase di esecuzione. – ash
trovato qui, http://mirrors.ibiblio.org/pub/mirrors/maven2/com/google/collections/google-collections/0.9/google-collections-0.9.barattolo, ma quella sembra essere una tana di coniglio ... un'altra dipendenza mancante. Bah. – ash