Java >> Java tutorial >  >> Tag >> Tomcat

Java:bruger slutpunkt til at publicere webservice til tomcat-server

Har Endpoint.publish bruge tomcat-serveren til at hoste dette, eller er det en mini-glasfisk-server?

JAX-WS RI Endpoint.publish API bruger som standard en let HTTP-serverimplementering, der er inkluderet i Suns Java SE 6. Så nej, det gør den ikke brug en indlejret GlassFish eller en indlejret Tomcat og endnu mindre din eksisterende Tomcat-installation:den bruger en indlejret beholder, dvs. noget, der kører inde i samme JVM. Bare til information, det er dog muligt at tilslutte andre implementeringer, så længe de giver en Service Provider Implementation (SPI). For eksempel gør Jetty 6 det, se J2se6HttpServerSPI. Men jeg skal ikke dække alle detaljerne her :)

Det ser ikke ud til at fungere med min installerede tomcat-server, som det er, fordi det siger, at porten allerede er i brug.

Som jeg sagde ovenfor, er Enpoint.publish API bruger ikke din eksisterende Tomcat-installation. Den bruger sin egen server og giver dig mulighed for at implementere din webservice uden at skulle pakke og implementere din app. Det er især nyttigt under udvikling (da det fremskynder tingene). Faktisk er det ekstremt praktisk.

Hvis du nu har en Tomcat-server, der kører på port 8082, og hvis du prøver at udgive din Endpoint bruger den samme port, vil tingene ikke fungere, som du har bemærket. Brug en anden (og ubrugt) port under udvikling.

Og hvis du vil implementere dine webtjenester til din eksisterende Tomcat-installation, så bliver du nødt til at pakke dem i en krig og implementere denne krig på Tomcat. Men dette er helt anderledes og har ikke noget at gøre med at bruge Endpoint.publish API.


Java tag