cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Mazza <glen.ma...@verizon.net>
Subject Re: svn commit: r551872 - in /incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws: addressing/ policy/ rm/ util/
Date Fri, 29 Jun 2007 13:52:31 GMT
Since we don't know if this problem occurs with all versions of HP-UX,
other OS' besides HP-UX, or with certain servlet containers, etc., I
wonder if the solution below should be generalized and made
user-configurable.

I still don't know enough about the CXF architecture.  But is there some
configuration file for which we can add a "keepaliveconnections"
parameter or similar, that when set by the user, will activate the logic
that is presently hardcoded just to HP-UX below?  Then it would just be
a simple website FAQ item for the user to set this parameter whenever
his particular setup appears to need it.  Do you think this would be a
useful change, or a little bit of overkill right now?

Thanks,
Glen


Am Freitag, den 29.06.2007, 12:36 +0000 schrieb andreasmyth@apache.org:
> Author: andreasmyth
> Date: Fri Jun 29 05:36:41 2007
> New Revision: 551872
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=551872
> Log:
> [JIRA CXF-755] Configure clients on HP to use keep-alive connections when
> ReplyTo is non-anonymous.
> 
> Added:
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
  (with props)
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java
  (with props)
> Modified:
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingInlinePolicyTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingOptionalPolicyTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingPolicyTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyWsdlTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledBareTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledClientServerTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTest.java
Fri Jun 29 05:36:41 2007
> @@ -19,6 +19,13 @@
>  
>  package org.apache.cxf.systest.ws.addressing;
>  
> +import java.lang.reflect.UndeclaredThrowableException;
> +import java.net.SocketException;
> +import org.apache.cxf.message.Message;
> +import org.apache.cxf.phase.AbstractPhaseInterceptor;
> +import org.apache.cxf.phase.Phase;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
> +import org.apache.hello_world_soap_http.BadRecordLitFault;
>  import org.junit.Test;
>  
> 
> @@ -27,8 +34,12 @@
>   */
>  public class MAPTest extends MAPTestBase {
>  
> -    private static final String CONFIG =
> -        "org/apache/cxf/systest/ws/addressing/cxf.xml";
> +    private static final String CONFIG;
> +    static {
> +        CONFIG = "org/apache/cxf/systest/ws/addressing/cxf" 
> +            + ("HP-UX".equals(System.getProperty("os.name")) ? "-hpux" : "")
> +            + ".xml";
> +    }
>      
>      public String getConfigFileName() {
>          return CONFIG;
> @@ -38,6 +49,91 @@
>      public void foo() {
>          
>      }
> +    
> +    @Test
> +    public void testUsingKeepAliveConnection() throws Exception {
> +        if (!"HP-UX".equals(System.getProperty("os.name"))) {
> +            return;
> +        }
> +        int n = 100;
> +        for (int i = 0; i < n; i++) {
> +            greeter.greetMeOneWay("oneway on keep-alive connection");
> +        }
> +        for (int i = 0; i < n; i++) {
> +            assertNotNull(greeter.greetMe("twoway on keep-alive connection"));
> +        }
> +        for (int i = 0; i < 0; i++) {
> +            try {
> +                greeter.testDocLitFault("BadRecordLitFault");
> +                fail("expected fault from service");
> +            } catch (BadRecordLitFault brlf) {
> +                //checkVerification();
> +            } catch (UndeclaredThrowableException ex) {
> +                throw (Exception)ex.getCause();
> +            }
> +        }
> +    }
>  
> +    /**
> +     * On HP-UX, the server seems to close the connection by the time the
> +     * thread servicing the requests terminates and therefore possibly before 
> +     * the client has had a chance to read the response (the client throws
> +     * a SocketException: Broken pipe). This may be a bug
> +     * in Jetty or in the HP-UX JDK. It can be worked around by 
> +     * adding a sleep to the end of method handle in 
> +     * org.apache.cxf.transport.http_jetty.JettyHTTPHandler or,
> +     * preferrably, by ensuring the client uses keep alive
> +     * connections.
> +     */
> +    @Test
> +    public void testDelayReadingPartialResponse() throws Exception {
> +        if (!"HP-UX".equals(System.getProperty("os.name"))) {
> +            return;
> +        }
> +
> +        assertTrue(ConnectionHelper.isKeepAliveConnection(greeter));
> +        ConnectionHelper.setKeepAliveConnection(greeter, false);
> +
> +        class DelayInterceptor extends AbstractPhaseInterceptor<Message> {
> +            long delay = 100L;
> +            DelayInterceptor() {
> +                super(Phase.RECEIVE);
> +            }
> +            public void handleMessage(Message msg) {
> +                try {
> +                    Thread.sleep(delay);
> +                } catch (Exception ex) {
> +                    // ignore
> +                } finally {
> +                    if (delay < 1000L) {  
> +                        delay += 100L;
> +                    }
> +                }
> +            }
> +        }
> +        DelayInterceptor interceptor = new DelayInterceptor();
> +        staticBus.getInInterceptors().add(interceptor);
> +
> +        int n = 100;
> +        try {
> +            for (int i = 0; i < n; i++) {
> +                greeter.greetMeOneWay("delay reading partial reponse");
> +            }
> +            fail("Expected SocketException not thrown");
> +        } catch (Exception ex) {
> +            Throwable t = ex.getCause();
> +            while (null != t.getCause()) {
> +                t = t.getCause();
> +            }
> +            assertTrue("Unexpected exception type: " + t.getClass().getName(),
> +                t instanceof SocketException);
> +        } finally {
> +            // need to reset to Keep-Alive for subsequenct tests
> +            // (all tests are using the same conduit selector, and
> +            // thus the same conduit)
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +            staticBus.getInInterceptors().remove(interceptor);
> +        }
> +    }
>  }
>  
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java
Fri Jun 29 05:36:41 2007
> @@ -61,9 +61,12 @@
>   */
>  public abstract class MAPTestBase extends AbstractClientServerTestBase implements VerificationCache
{
>  
> +    protected static Bus staticBus;
> +
>      static final String INBOUND_KEY = "inbound";
>      static final String OUTBOUND_KEY = "outbound";
>  
> +
>      private static MAPVerifier mapVerifier;
>      private static HeaderVerifier headerVerifier;
>  
> @@ -76,9 +79,7 @@
>      
>      private static Map<Object, Map<String, String>> messageIDs =
>          new HashMap<Object, Map<String, String>>();
> -    private static Bus staticBus;
> -    
> -    private Greeter greeter;
> +    protected Greeter greeter;
>      private String verified;
>      
>      
> 
> Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml?view=auto&rev=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
(added)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
Fri Jun 29 05:36:41 2007
> @@ -0,0 +1,33 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +  Licensed to the Apache Software Foundation (ASF) under one
> +  or more contributor license agreements. See the NOTICE file
> +  distributed with this work for additional information
> +  regarding copyright ownership. The ASF licenses this file
> +  to you under the Apache License, Version 2.0 (the
> +  "License"); you may not use this file except in compliance
> +  with the License. You may obtain a copy of the License at
> + 
> +  http://www.apache.org/licenses/LICENSE-2.0
> + 
> +  Unless required by applicable law or agreed to in writing,
> +  software distributed under the License is distributed on an
> +  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +  KIND, either express or implied. See the License for the
> +  specific language governing permissions and limitations
> +  under the License.
> +-->
> +<beans xmlns="http://www.springframework.org/schema/beans"
> +       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +       xmlns:http="http://cxf.apache.org/transports/http/configuration"
> +       xsi:schemaLocation="
> +http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
> +http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
> +  
> +    <http:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit">
> +      <http:client Connection="Keep-Alive" DecoupledEndpoint="http://localhost:9999/decoupled_endpoint"/>
> +    </http:conduit>
> +    
> +    <import resource="wsa_interceptors.xml"/>
> +</beans>
> +
> 
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
> ------------------------------------------------------------------------------
>     svn:keywords = Rev Date
> 
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/addressing/cxf-hpux.xml
> ------------------------------------------------------------------------------
>     svn:mime-type = text/xml
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingInlinePolicyTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingInlinePolicyTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingInlinePolicyTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingInlinePolicyTest.java
Fri Jun 29 05:36:41 2007
> @@ -34,6 +34,7 @@
>  import org.apache.cxf.greeter_control.PingMeFault;
>  import org.apache.cxf.interceptor.Interceptor;
>  import org.apache.cxf.service.model.ServiceInfo;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
>  import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
>  import org.apache.cxf.ws.policy.ServerPolicyInInterceptor;
> @@ -92,6 +93,10 @@
>          BasicGreeterService gs = new BasicGreeterService();
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
> +
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
>  
>          Client client = ClientProxy.getClient(greeter);
>          List<ServiceInfo> sis = client.getEndpoint().getService().getServiceInfos();
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingOptionalPolicyTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingOptionalPolicyTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingOptionalPolicyTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingOptionalPolicyTest.java
Fri Jun 29 05:36:41 2007
> @@ -31,6 +31,7 @@
>  import org.apache.cxf.greeter_control.PingMeFault;
>  import org.apache.cxf.interceptor.LoggingInInterceptor;
>  import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.systest.ws.util.InMessageRecorder;
>  import org.apache.cxf.systest.ws.util.MessageFlow;
>  import org.apache.cxf.systest.ws.util.OutMessageRecorder;
> @@ -104,6 +105,10 @@
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
>  
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
> +
>          // oneway
>  
>          greeter.greetMeOneWay("CXF");
> @@ -150,6 +155,10 @@
>          BasicGreeterService gs = new BasicGreeterService();
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
> +
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
>  
>          // oneway
>  
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingPolicyTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingPolicyTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingPolicyTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/AddressingPolicyTest.java
Fri Jun 29 05:36:41 2007
> @@ -31,6 +31,7 @@
>  import org.apache.cxf.greeter_control.PingMeFault;
>  import org.apache.cxf.interceptor.LoggingInInterceptor;
>  import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
>  import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
>  import org.junit.BeforeClass;
> @@ -98,6 +99,9 @@
>          BasicGreeterService gs = new BasicGreeterService();
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
>  
>          // oneway
>  
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyTest.java
Fri Jun 29 05:36:41 2007
> @@ -31,6 +31,7 @@
>  import org.apache.cxf.greeter_control.PingMeFault;
>  import org.apache.cxf.interceptor.LoggingInInterceptor;
>  import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.systest.ws.util.InMessageRecorder;
>  import org.apache.cxf.systest.ws.util.MessageFlow;
>  import org.apache.cxf.systest.ws.util.MessageRecorder;
> @@ -107,6 +108,10 @@
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
>  
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +
> +        }
>          // oneway
>  
>          greeter.greetMeOneWay("CXF");
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyWsdlTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyWsdlTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyWsdlTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/policy/RMPolicyWsdlTest.java
Fri Jun 29 05:36:41 2007
> @@ -31,6 +31,7 @@
>  import org.apache.cxf.greeter_control.ReliableGreeterService;
>  import org.apache.cxf.interceptor.LoggingInInterceptor;
>  import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.systest.ws.util.InMessageRecorder;
>  import org.apache.cxf.systest.ws.util.MessageFlow;
>  import org.apache.cxf.systest.ws.util.MessageRecorder;
> @@ -106,6 +107,10 @@
>          ReliableGreeterService gs = new ReliableGreeterService();
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
> +
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
>  
>          // oneway
>  
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledBareTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledBareTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledBareTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledBareTest.java
Fri Jun 29 05:36:41 2007
> @@ -27,6 +27,7 @@
>  import org.apache.cxf.Bus;
>  import org.apache.cxf.BusFactory;
>  import org.apache.cxf.bus.spring.SpringBusFactory;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
>  import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
>  import org.apache.hello_world_soap_http.DocLitBare;
> @@ -87,6 +88,10 @@
>          assertNotNull(service);
>  
>          DocLitBare greeter = service.getSoapPort();
> +
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
>         
>          BareDocumentResponse bareres = greeter.testDocLitBare("MySimpleDocument");
>          assertNotNull("no response for operation testDocLitBare", bareres);
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledClientServerTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledClientServerTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledClientServerTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/DecoupledClientServerTest.java
Fri Jun 29 05:36:41 2007
> @@ -30,6 +30,7 @@
>  import org.apache.cxf.greeter_control.GreeterService;
>  import org.apache.cxf.interceptor.LoggingInInterceptor;
>  import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
>  import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
>  import org.junit.BeforeClass;
> @@ -100,7 +101,11 @@
>          GreeterService gs = new GreeterService();
>          final Greeter greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
> -        
> +       
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
> +
>          class TwowayThread extends Thread {
>  
>              String response;
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
Fri Jun 29 05:36:41 2007
> @@ -43,6 +43,7 @@
>  import org.apache.cxf.message.Message;
>  import org.apache.cxf.phase.AbstractPhaseInterceptor;
>  import org.apache.cxf.phase.Phase;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.systest.ws.util.InMessageRecorder;
>  import org.apache.cxf.systest.ws.util.MessageFlow;
>  import org.apache.cxf.systest.ws.util.MessageRecorder;
> @@ -166,6 +167,10 @@
>          greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
>  
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
> +
>          greeter.greetMeOneWay("once");
>  
>      }
> @@ -1308,6 +1313,10 @@
>  
>          greeter = gs.getGreeterPort();
>          LOG.fine("Created greeter client.");
> +
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
>  
>          if (!useDecoupledEndpoint) {
>              return;
> 
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java?view=diff&rev=551872&r1=551871&r2=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java
(original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java
Fri Jun 29 05:36:41 2007
> @@ -34,6 +34,7 @@
>  import org.apache.cxf.greeter_control.Greeter;
>  import org.apache.cxf.greeter_control.GreeterService;
>  import org.apache.cxf.greeter_control.types.GreetMeResponse;
> +import org.apache.cxf.systest.ws.util.ConnectionHelper;
>  import org.apache.cxf.systest.ws.util.InMessageRecorder;
>  import org.apache.cxf.systest.ws.util.MessageFlow;
>  import org.apache.cxf.systest.ws.util.MessageRecorder;
> @@ -101,14 +102,18 @@
>          LOG.fine("Created bus " + greeterBus + " with cfg : " + CFG);        
>          BusFactory.setDefaultBus(greeterBus);
>          
> -        // avoid soon cliejt resends
> +        // avoid early client resends
>          greeterBus.getExtension(RMManager.class).getRMAssertion().getBaseRetransmissionInterval()
>              .setMilliseconds(new BigInteger("60000"));
>          GreeterService gs = new GreeterService();
>          Greeter greeter = gs.getGreeterPort();
>          
>          LOG.fine("Created greeter client.");
> -  
> + 
> +        if ("HP-UX".equals(System.getProperty("os.name"))) {
> +            ConnectionHelper.setKeepAliveConnection(greeter, true);
> +        }
> +
>          Client c = ClientProxy.getClient(greeter);
>          HTTPConduit hc = (HTTPConduit)(c.getConduit());
>          HTTPClientPolicy cp = hc.getClient();
> @@ -148,7 +153,8 @@
>      }
>      
>      void verifyMissingResponse(Response<GreetMeResponse> responses[]) throws Exception
{
> -        awaitMessages(4, 7);
> +        awaitMessages(4, 7, 20000);
> +
>          // wait another while to prove that response to second request is indeed lost
>          Thread.sleep(1000);
>          int nDone = 0;
> @@ -216,7 +222,7 @@
>      }
>    
>      
> -    private void awaitMessages(int nExpectedOut, int nExpectedIn) {
> +    protected void awaitMessages(int nExpectedOut, int nExpectedIn) {
>          awaitMessages(nExpectedOut, nExpectedIn, 10000);
>      }
>      
> 
> Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java?view=auto&rev=551872
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java
(added)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java
Fri Jun 29 05:36:41 2007
> @@ -0,0 +1,49 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.systest.ws.util;
> +
> +import org.apache.cxf.endpoint.Client;
> +import org.apache.cxf.frontend.ClientProxy;
> +import org.apache.cxf.transport.http.HTTPConduit;
> +import org.apache.cxf.transports.http.configuration.ConnectionType;
> +import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
> +
> +/**
> + * 
> + */
> +public final class ConnectionHelper {
> +    
> +    private ConnectionHelper() {
> +    }
> +    
> +    public static void setKeepAliveConnection(Object proxy, boolean keepAlive) {
> +        Client client = ClientProxy.getClient(proxy);
> +        HTTPConduit hc = (HTTPConduit)client.getConduit();
> +        HTTPClientPolicy cp = hc.getClient();
> +        cp.setConnection(keepAlive ? ConnectionType.KEEP_ALIVE : ConnectionType.CLOSE);
> +    }
> +    
> +    public static boolean isKeepAliveConnection(Object proxy) {
> +        Client client = ClientProxy.getClient(proxy);
> +        HTTPConduit hc = (HTTPConduit)client.getConduit();
> +        HTTPClientPolicy cp = hc.getClient();
> +        return cp.getConnection() == ConnectionType.KEEP_ALIVE;
> +    }
> +}
> 
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/util/ConnectionHelper.java
> ------------------------------------------------------------------------------
>     svn:keywords = Rev Date
> 
> 


Mime
View raw message