Author: ningjiang Date: Thu Sep 29 07:59:17 2011 New Revision: 1177198 URL: http://svn.apache.org/viewvc?rev=1177198&view=rev Log: Merged revisions 1177165 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes
................ r1177165 | ningjiang | 2011-09-29 13:05:18 +0800 (Thu, 29 Sep 2011) | 9 lines Merged revisions 1177164 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1177164 | ningjiang | 2011-09-29 12:52:08 +0800 (Thu, 29 Sep 2011) | 1 line Added maxIdleTime attribute support on the jetty engine spring configure ........ ................ Modified: cxf/branches/2.3.x-fixes/ (props changed) cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml Propchange: cxf/branches/2.3.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Thu Sep 29 07:59:17 2011 @@ -1,2 +1,2 @@ -/cxf/branches/2.4.x-fixes:1172584,1173057,1173766,1174040,1174408,1175846,1175943,1175953,1176842,1176859 -/cxf/trunk:1172522,1173027,1173997-1173998,1174404,1175747-1175780,1175939,1175951,1176840,1176856 +/cxf/branches/2.4.x-fixes:1172584,1173057,1173766,1174040,1174408,1175846,1175943,1175953,1176842,1176859,1177165 +/cxf/trunk:1172522,1173027,1173997-1173998,1174404,1175747-1175780,1175939,1175951,1176840,1176856,1177164 Propchange: cxf/branches/2.3.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java Thu Sep 29 07:59:17 2011 @@ -95,6 +95,7 @@ public class JettyHTTPServerEngine private Boolean isSessionSupport = false; private Boolean isReuseAddress = true; private Boolean continuationsEnabled = true; + private int maxIdleTime = 200000; private int servantCount; private Server server; private Connector connector; @@ -278,6 +279,14 @@ public class JettyHTTPServerEngine isReuseAddress = reuse; } + public int getMaxIdleTime() { + return maxIdleTime; + } + + public void setMaxIdleTime(int maxIdel) { + maxIdleTime = maxIdel; + } + /** * Register a servant. * @@ -637,6 +646,9 @@ public class JettyHTTPServerEngine result.setHost(hosto); } result.setPort(porto); + if (getMaxIdleTime() > 0) { + result.setMaxIdleTime(getMaxIdleTime()); + } return result; } }; @@ -648,7 +660,7 @@ public class JettyHTTPServerEngine protected JettyConnectorFactory getHTTPSConnectorFactory( TLSServerParameters tlsParams ) { - return new JettySslConnectorFactory(tlsParams); + return new JettySslConnectorFactory(tlsParams, getMaxIdleTime()); } /** Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java Thu Sep 29 07:59:17 2011 @@ -70,6 +70,11 @@ public class JettyHTTPServerEngineBeanDe if (continuationsStr != null && continuationsStr.length() > 0) { bean.addPropertyValue("continuationsEnabled", continuationsStr); } + + String maxIdleTimeStr = element.getAttribute("maxIdleTime"); + if (maxIdleTimeStr != null && !"".equals(maxIdleTimeStr.trim())) { + bean.addPropertyValue("maxIdleTime", maxIdleTimeStr); + } ValueHolder busValue = ctx.getContainingBeanDefinition() .getConstructorArgumentValues().getArgumentValue(0, Bus.class); bean.addPropertyValue("bus", busValue.getValue()); Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java Thu Sep 29 07:59:17 2011 @@ -30,10 +30,16 @@ import org.eclipse.jetty.server.Abstract public final class JettySslConnectorFactory implements JettyConnectorFactory { TLSServerParameters tlsServerParameters; + int maxIdleTime; public JettySslConnectorFactory(TLSServerParameters params) { tlsServerParameters = params; } + + public JettySslConnectorFactory(TLSServerParameters params, int maxIdle) { + this(params); + this.maxIdleTime = maxIdle; + } /** * Create a Listener. * @@ -58,6 +64,9 @@ public final class JettySslConnectorFact secureConnector.setHost(host); } secureConnector.setPort(port); + if (maxIdleTime > 0) { + secureConnector.setMaxIdleTime(maxIdleTime); + } decorateCXFJettySslSocketConnector(secureConnector); return secureConnector; } Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd Thu Sep 29 07:59:17 2011 @@ -144,9 +144,14 @@ <xs:attribute name="continuationsEnabled" type="ptp:ParameterizedBoolean"> <xs:annotation> <xs:documentation>Specifies if Jetty Continuations will be explicitly supported - by Jetty destinations. Continuations will be checked if this attribute is set to true or omitted, ignored otherwise</xs:documentation> + by Jetty destinations. Continuations will be checked if this attribute is set to true or omitted, ignored otherwise.</xs:documentation> </xs:annotation> </xs:attribute> + <xs:attribute name="maxIdleTime" type="ptp:ParameterizedInt"> + <xs:annotation> + <xs:documentation>Set the maximum Idle time for a connection, the timer will be reset if there is any read and write option on the under layer stream.</xs:documentation> + </xs:annotation> + </xs:attribute> </xs:complexType> <xs:complexType name="JettyHTTPServerEngineFactoryConfigType"> Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java Thu Sep 29 07:59:17 2011 @@ -103,18 +103,22 @@ public class JettyHTTPServerEngineTest e "http".equals(engine.getProtocol())); engine = new JettyHTTPServerEngine(); + engine.setJettyHTTPServerEngineFactory(factory); engine.setPort(9235); + engine.setMaxIdleTime(30000); engine.setTlsServerParameters(new TLSServerParameters()); engine.finalizeConfig(); List<JettyHTTPServerEngine> list = new ArrayList<JettyHTTPServerEngine>(); list.add(engine); factory.setEnginesList(list); - engine = factory.createJettyHTTPServerEngine(9235, "https"); - + JettyHTTPTestHandler handler1 = new JettyHTTPTestHandler("string1", true); + // need to create a servant to create the connector + engine.addServant(new URL("https://localhost:9235/test"), handler1); assertTrue("Protocol must be https", "https".equals(engine.getProtocol())); + assertEquals("Get the wrong maxIdleTime.", 30000, engine.getConnector().getMaxIdleTime()); factory.setTLSServerParametersForPort(9234, new TLSServerParameters()); engine = factory.createJettyHTTPServerEngine(9234, "https"); @@ -172,9 +176,12 @@ public class JettyHTTPServerEngineTest e String urlStr2 = "http://localhost:9234/hello233/test"; JettyHTTPServerEngine engine = factory.createJettyHTTPServerEngine(9234, "http"); + engine.setMaxIdleTime(30000); JettyHTTPTestHandler handler1 = new JettyHTTPTestHandler("string1", true); JettyHTTPTestHandler handler2 = new JettyHTTPTestHandler("string2", true); engine.addServant(new URL(urlStr), handler1); + assertEquals("Get the wrong maxIdleTime.", 30000, engine.getConnector().getMaxIdleTime()); + String response = null; response = getResponse(urlStr); assertEquals("The jetty http handler did not take effect", response, "string1"); Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java Thu Sep 29 07:59:17 2011 @@ -130,6 +130,7 @@ public class ApplicationContextTest exte getEndpointInfo("foo", "bar", "http://localhost:9001")); engine = (JettyHTTPServerEngine)jd2.getEngine(); + assertEquals(40000, engine.getMaxIdleTime()); assertEquals(99, engine.getThreadingParameters().getMinThreads()); assertEquals(777, engine.getThreadingParameters().getMaxThreads()); assertTrue("The engine should support session manager", engine.isSessionSupport()); Modified: cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml?rev=1177198&r1=1177197&r2=1177198&view=diff ============================================================================== --- cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml (original) +++ cxf/branches/2.3.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml Thu Sep 29 07:59:17 2011 @@ -57,7 +57,7 @@ <hj:threadingParameters minThreads="111" maxThreads="120"/> </hj:identifiedThreadingParameters> - <hj:engine port="9000"> + <hj:engine port="9000" maxIdleTime="30000"> <hj:threadingParametersRef id="sampleThreading1"/> </hj:engine> @@ -65,7 +65,7 @@ <hj:threadingParameters minThreads="21" maxThreads="389"/> </hj:engine> - <hj:engine port="9001"> + <hj:engine port="9001" maxIdleTime="40000"> <hj:threadingParameters minThreads="99" maxThreads="777"/> <hj:connector> <beans:bean class="org.eclipse.jetty.server.bio.SocketConnector">
