The fix works. But, is there a way to hot deploy the WS once the Server has been started ?

If I publish the WS after the Server has been started I get:

Caused by: java.lang.IllegalStateException: STARTED
at org.eclipse.jetty.http.spi.DelegatingThreadPool.setExecutor(DelegatingThreadPool.java:55) at org.eclipse.jetty.http.spi.JettyHttpServer.setExecutor(JettyHttpServer.java:129) at com.sun.xml.internal.ws.transport.http.server.ServerMgr.createContext(ServerMgr.java:85)
    ... 9 more

Thanks.

---
Alejandro Alberola
Bio Data Systems
---

El 01/07/14 19:47, Joakim Erdfelt escribió:
You are hitting this requirement ...

https://github.com/eclipse/jetty.project/blob/master/jetty-http-spi/src/main/java/org/eclipse/jetty/http/spi/JettyHttpServer.java#L131

To fix, change:

Server server = new Server(8080);

to

Server server = new Server(new DelegatingThreadPool()); // <-- required for http-spi
ServerConnector connector = new ServerConnector(server);
connector.setPort(8080);  // <-- your port is now set via a connector
server.addConnector(connector);

and try again.

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


On Tue, Jul 1, 2014 at 2:21 AM, Alejandro Alberola <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    I have an embedded Jetty 9.2.1 server in my application where I
    have deployed a
    servlet in a ServletContextHandler. At the same time I want to
    deploy a Metro WS
    in the same server using JettyHttpServerProvider, but when I try
    to publish the
    WS Endpoint I get the following exception:

    Caused by: com.sun.xml.internal.ws
    <http://com.sun.xml.internal.ws>.server.ServerRtException: Server
    Runtime Error: java.lang.UnsupportedOperationException:
    !DelegatingThreadPool
        at com.sun.xml.internal.ws
    
<http://com.sun.xml.internal.ws>.transport.http.server.ServerMgr.createContext(ServerMgr.java:102)
        at com.sun.xml.internal.ws
    
<http://com.sun.xml.internal.ws>.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:63)
        at com.sun.xml.internal.ws
    
<http://com.sun.xml.internal.ws>.transport.http.server.EndpointImpl.publish(EndpointImpl.java:171)
        at
    
com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:118)
        at javax.xml.ws.Endpoint.publish(Endpoint.java:240)

    If I use two Jetty server instances embedded in my application and
    listening in different ports,
    all work properly, but I would like to share the same port among
    the servlet and the Metro WS.

    My faulty code follows:

    -------------------------------------------------
    Server server = new Server(8080);

    System.setProperty("com.sun.net.httpserver.HttpServerProvider",
    "org.eclipse.jetty.http.spi.JettyHttpServerProvider");
    JettyHttpServerProvider.setServer(server);

    ContextHandlerCollection contexts = new ContextHandlerCollection();

    servletContext =  new ServletContextHandler(server, "/myapp",
    true, false);
    contexts.addHandler(servletContext);

    ServletHolder servletHolder = new ServletHolder(MyServlet);
    servletContext.addServlet(servletHolder, "/servlet-path");

    HandlerCollection handlerCollection = new HandlerCollection();
    handlerCollection.setHandlers(new Handler[]{ contexts });

    Endpoint endpoint = Endpoint.publish(endpointURL, myWebServices);

    server.setHandler(contexts);

    server.start();
    -------------------------------------------------

    Any idea ?
    Thanks.

    ---
    Alejandro Alberola
    Bio Data Systems
    ---

    _______________________________________________
    jetty-users mailing list
    [email protected] <mailto:[email protected]>
    To change your delivery options, retrieve your password, or
    unsubscribe from this list, visit
    https://dev.eclipse.org/mailman/listinfo/jetty-users




_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to