You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Glen Mazza <gl...@verizon.net> on 2007/09/20 13:40:33 UTC
Re: svn commit: r577543 - in
/incubator/cxf/trunk/rt/transports/http-jetty/src:
main/java/org/apache/cxf/transport/http_jetty/
test/java/org/apache/cxf/transport/http_jetty/
Am Donnerstag, den 20.09.2007, 04:37 +0000 schrieb ningjiang@apache.org:
> Author: ningjiang
> Date: Wed Sep 19 21:37:31 2007
> New Revision: 577543
>
> URL: http://svn.apache.org/viewvc?rev=577543&view=rev
> Log:
> CXF-1034 added the servantcount check and the unit test
>
> Modified:
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.java
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
> incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
>
> Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java?rev=577543&r1=577542&r2=577543&view=diff
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java (original)
> +++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java Wed Sep 19 21:37:31 2007
> @@ -165,7 +165,11 @@
> * remove it from the factory's cache.
> */
> public void shutdown() {
> - factory.destroyForPort(port);
> + if (servantCount == 0) {
> + factory.destroyForPort(port);
> + } else {
> + LOG.log(Level.WARNING, "FAILED_TO_SHOWDOWN_ENGINE_MSG", port);
..._TO_SHUTDOWN_ENGINE
> + }
> }
>
> /**
>
> Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.java?rev=577543&r1=577542&r2=577543&view=diff
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.java (original)
> +++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.java Wed Sep 19 21:37:31 2007
> @@ -205,21 +205,21 @@
> }
>
> public void postShutdown() {
> - // clean up the collections
> - portMap.clear();
> - threadingParametersMap.clear();
> - tlsParametersMap.clear();
> - }
> -
> - public void preShutdown() {
> - // shut down the jetty server in the portMap
> + //shut down the jetty server in the portMap
> // To avoid the CurrentModificationException,
> - // do not use portMap.vaules directly
> -
> + // do not use portMap.vaules directly
> JettyHTTPServerEngine[] engines = portMap.values().toArray(new JettyHTTPServerEngine[0]);
> for (JettyHTTPServerEngine engine : engines) {
> engine.shutdown();
> }
> + // clean up the collections
> + threadingParametersMap.clear();
> + tlsParametersMap.clear();
> + }
> +
> + public void preShutdown() {
> + // do nothing here
> + // just let server registry to call the server stop first
> }
>
> }
>
> Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties?rev=577543&r1=577542&r2=577543&view=diff
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties (original)
> +++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties Wed Sep 19 21:37:31 2007
> @@ -22,3 +22,4 @@
> ADD_HANDLER_FAILED_MSG = Could not add cxf jetty handler to Jetty server: {0}
> REMOVE_HANDLER_FAILED_MSG = Could not remove cxf jetty handler from Jetty server: {0}
> CAN_NOT_FIND_HANDLER_MSG = Could not find the handler to remove for context url {0}
> +FAILED_TO_SHOWDOWN_ENGINE_MSG = Failed to shutdown the Jetty server: {0} because it still be used.
...because it is still being used.
> \ No newline at end of file
>
> Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java?rev=577543&r1=577542&r2=577543&view=diff
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java (original)
> +++ incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java Wed Sep 19 21:37:31 2007
> @@ -148,6 +148,7 @@
> @Test
> public void testaddServants() throws Exception {
> String urlStr = "http://localhost:1234/hello/test";
> + String urlStr2 = "http://localhost:1234/hello233/test";
> JettyHTTPServerEngine engine =
> factory.createJettyHTTPServerEngine(1234, "http");
> JettyHTTPTestHandler handler1 = new JettyHTTPTestHandler("string1");
> @@ -168,8 +169,15 @@
> fail("Can't get the reponse from the server " + ex);
response
> }
> assertEquals("the jetty http handler did not take effect", response, "string1string2");
> -
> -
> + engine.addServant(new URL(urlStr2), handler2);
> + engine.removeServant(new URL(urlStr));
> + engine.shutdown();
> + try {
> + response = getResponse(urlStr2);
> + } catch (Exception ex) {
> + fail("Server should work, even we call the shutdown" + ex);
Server should still work, even if we call the shutdown
> + }
> + assertEquals("the jetty http handler did not take effect", response, "string2");
> // set the get request
> factory.destroyForPort(1234);
>
>
>