Your setup looks correct.

Just a point of clarification about contexts and mappings.

Your websocket URI would look like this ...

ws://machine.hostname:port/webapp.context/websockets/

Where "machine.hostname" is your server's host name (or ip)
The "port" is the non-SSL port you have configured your server on.
The "webapp.context" is the context path where you deployed your web
application
and "/websockets/" is the request path you have specified in your
servlet-mapping


--
Joakim Erdfelt <[email protected]>
webtide.com <http://www.webtide.com/> - intalio.com/jetty
Expert advice, services and support from from the Jetty & CometD experts
eclipse.org/jetty - cometd.org


On Tue, Aug 20, 2013 at 9:40 AM, Sebastian Gutierrez <[email protected]>wrote:

> Hi,
>
>
> I have a embedded jetty (9 last version) app server on a jar, this jar
> starts and initialise a server for http and https and deploys a war file.
>
> The war file has JAX RS jersey web services that are developed by
> annotations and are initialised by a servlet on web.xml like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/javaee";
>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
>          version="2.5">
>
>     <servlet>
>         <servlet-name>ServletAdaptor</servlet-name>
>
> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>ServletAdaptor</servlet-name>
>         <url-pattern>/resources/*</url-pattern>
>     </servlet-mapping>
>     <session-config>
>         <session-timeout>
>             30
>         </session-timeout>
>     </session-config>
>     <welcome-file-list>
>         <welcome-file>index.jsp</welcome-file>
>     </welcome-file-list>
>
> </web-app>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> When I start the server everything is working ok and I can see on the log
> the WebService "endpoints" up. Now I would like to do the same with web
> sockets, so I added now as a library of my war all the web socket jars of
> jetty, then I created this 2 classes:
>
> One that register the endpoints.
> One as a test endpoint.
>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
> import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
>
>
> public class JettyWebSocketServlet extends WebSocketServlet {
>     @Override
>     public void configure(WebSocketServletFactory factory) {
>         factory.register(WebSocketEchoTest.class);
>     }
> }
>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> @WebSocket
> public class WebSocketEchoTest {
>     private RemoteEndpoint remote;
>
>     @OnWebSocketConnect
>     public void onConnect(Session session) {
>         System.out.println("WebSocket Opened");
>         this.remote = session.getRemote();
>     }
>
>     @OnWebSocketMessage
>     public void onMessage(String message) {
>         System.out.println("Message from Client: " + message);
>         try {
>             remote.sendString("Hi Client");
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
>
>     @OnWebSocketClose
>     public void onClose(int statusCode, String reason) {
>         System.out.println("WebSocket Closed. Code:" + statusCode);
>     }
> }
>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> So now I would like to do as in JAX RS… so I changed the web.xml to this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/javaee";
>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
>          version="2.5">
>
>     <servlet>
>         <servlet-name>ServletAdaptor</servlet-name>
>
> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>ServletAdaptor</servlet-name>
>         <url-pattern>/resources/*</url-pattern>
>     </servlet-mapping>
>     <servlet>
>         <servlet-name>servlet</servlet-name>
>
> <servlet-class>integra.websocket.JettyWebSocketServlet</servlet-class>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>servlet</servlet-name>
>         <url-pattern>/websockets/*</url-pattern>
>     </servlet-mapping>
>     <session-config>
>         <session-timeout>
>             30
>         </session-timeout>
>     </session-config>
>     <welcome-file-list>
>         <welcome-file>index.jsp</welcome-file>
>     </welcome-file-list>
>
> </web-app>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> I think this should be ok and initialise all registered WebSocket
> endpoints… but this is never executed (JettyWebSocketServlet) ….
> If this would work, I think I should have access to ws:// and wss://  on
> the same ports that the http and https server in the /websockets/ context,
> am I right?
>
>
> any help on this??? is this the correct approach??
>
> thanks!!
>
>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to