Author: ningjiang
Date: Thu Sep 29 05:05:18 2011
New Revision: 1177165

URL: http://svn.apache.org/viewvc?rev=1177165&view=rev
Log:
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.4.x-fixes/   (props changed)
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java
    
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml

Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
    svn:mergeinfo = /cxf/trunk:1177164

Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.4.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.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
 Thu Sep 29 05:05:18 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;
@@ -281,6 +282,14 @@ public class JettyHTTPServerEngine
         isReuseAddress = reuse;
     }
     
+    public int getMaxIdleTime() {
+        return maxIdleTime;
+    }
+    
+    public void setMaxIdleTime(int maxIdel) {
+        maxIdleTime = maxIdel;
+    }
+    
     /**
      * Register a servant.
      * 
@@ -640,6 +649,9 @@ public class JettyHTTPServerEngine
                     result.setHost(hosto);
                 }
                 result.setPort(porto);
+                if (getMaxIdleTime() > 0) {
+                    result.setMaxIdleTime(getMaxIdleTime());
+                }
                 return result;
             }
         };
@@ -651,7 +663,7 @@ public class JettyHTTPServerEngine
     protected JettyConnectorFactory getHTTPSConnectorFactory(
             TLSServerParameters tlsParams
     ) {
-        return new JettySslConnectorFactory(tlsParams);
+        return new JettySslConnectorFactory(tlsParams, getMaxIdleTime());
     }
     
     /**

Modified: 
cxf/branches/2.4.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.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
 Thu Sep 29 05:05:18 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.4.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.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/https_jetty/JettySslConnectorFactory.java
 Thu Sep 29 05:05:18 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.4.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
 Thu Sep 29 05:05:18 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.4.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.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
 Thu Sep 29 05:05:18 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.4.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.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java
 Thu Sep 29 05:05:18 2011
@@ -126,6 +126,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.4.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.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml?rev=1177165&r1=1177164&r2=1177165&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/beans.xml
 Thu Sep 29 05:05:18 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">


Reply via email to