Non voglio utilizzare Tomcat, Jetty o un contenitore Java EE 6 per offrire servizi REST ma il web server integrato.Come eseguire Jersey con il web server integrato da Java SE 6?
6
A
risposta
5
Assicurarsi di avere Jersey di jersey-server.jar
nel classpath, allora è semplice come:
HttpServer server = HttpServerFactory.create("http://localhost:9998/");
server.start();
pick qualunque porta che si desidera utilizzare.
+0
@wjl: la domanda riguarda come eseguire Jersey con il server Web incorporato di Java SE. La domanda non riguarda come configurare/preparare Jersey per essere eseguito su un server arbitrario. È lo stesso per tutti i server. – BalusC
0
Per Jersey 2.x è necessario jersey-container-jdk-http nel classpath. Se si utilizza Maven aggiungere questo alla tua pom.xml
:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-jdk-http</artifactId>
<version>2.9.1</version>
</dependency>
Per avviare l'utilizzo del server in questo modo:
URI baseUri = UriBuilder.fromUri("http://localhost/").port(10000).build();
ResourceConfig resourceConfig=new ResourceConfig(WebService.class);
HttpServer httpServer=JdkHttpServerFactory.createHttpServer(baseUri, resourceConfig,true);
Buona domanda. Sembra che non vi sia alcun aiuto per gli utenti di Java SE quando si tratta di servizi web. E non tutti vogliono un server web in senso Enterprise ... Spero che ci siano altri esempi o aiuto pubblicati qui. –