Author: dkulp
Date: Thu Feb 26 21:39:43 2009
New Revision: 748323

URL: http://svn.apache.org/viewvc?rev=748323&view=rev
Log:
Merged revisions 748192 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r748192 | dkulp | 2009-02-26 11:07:04 -0500 (Thu, 26 Feb 2009) | 2 lines
  
  Another thread safety fix to try and get the JAXWS test that randomly fails 
on Hudson to pass.  (couldn't get it to fail on either of my boxes)
........

Modified:
    cxf/branches/2.1.x-fixes/   (props changed)
    
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
    
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 26 21:39:43 2009
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
 
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450,
 
732710,732773,732827,732829,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299,737356,737494,737498,737761,737817,737849,737855,737994,738166,738178,738201,738210,738242,738244,738265,738516,738583,738863,738937,738983,739366-739367,739451-739452,739799-739800,739867,739876-739877,739922,739937,739990,740045,740108,740154,740186,740197,740255,740706,740730,740810,740844,740886,740902,740923,740994,741058,741124,741152,741188,741521,741529,741879,742914,743087,743439,743441,743459,743469,743965,743967,744175,744195,744237,744756,745214,745243,745560,745578,745586,745592,745638,745950,746012,746019-746020,746256,746266,746306,746357,746373-746374,747217,747386,747406,747454,747649,747766,747986,748159,748223
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
 
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450,
 
732710,732773,732827,732829,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299,737356,737494,737498,737761,737817,737849,737855,737994,738166,738178,738201,738210,738242,738244,738265,738516,738583,738863,738937,738983,739366-739367,739451-739452,739799-739800,739867,739876-739877,739922,739937,739990,740045,740108,740154,740186,740197,740255,740706,740730,740810,740844,740886,740902,740923,740994,741058,741124,741152,741188,741521,741529,741879,742914,743087,743439,743441,743459,743469,743965,743967,744175,744195,744237,744756,745214,745243,745560,745578,745586,745592,745638,745950,746012,746019-746020,746256,746266,746306,746357,746373-746374,747217,747386,747406,747454,747649,747766,747986,748159,748192,74
 8223

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

Modified: 
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=748323&r1=748322&r2=748323&view=diff
==============================================================================
--- 
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
 (original)
+++ 
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
 Thu Feb 26 21:39:43 2009
@@ -442,13 +442,22 @@
      * UnitTest that will of course break, should the calls to the URL 
Connection
      * Factory get altered.
      */
-    protected void retrieveConnectionFactory() {
+    protected synchronized void retrieveConnectionFactory() {
         connectionFactory = 
AbstractHTTPTransportFactory.getConnectionFactory(this);
     }
-    protected void retrieveConnectionFactory(String url) {
+    protected synchronized void retrieveConnectionFactory(String url) {
         connectionFactory = 
AbstractHTTPTransportFactory.getConnectionFactory(this, url);
     }
     
+    
+    protected synchronized HttpURLConnectionFactory getConnectionFactory(URL 
url) {
+        if (connectionFactory == null 
+            || !url.getProtocol().equals(connectionFactory.getProtocol())) {
+            retrieveConnectionFactory(url.toString());
+        }
+
+        return connectionFactory;
+    }
     /**
      * Prepare to send an outbound HTTP message over this http conduit to a 
      * particular endpoint.
@@ -481,9 +490,8 @@
         // The need to cache the request is off by default
         boolean needToCacheRequest = false;
         
-        HttpURLConnection connection = 
-            connectionFactory.createConnection(
-                      getProxy(clientSidePolicy), currentURL);
+        HttpURLConnection connection = getConnectionFactory(currentURL)
+            .createConnection(getProxy(clientSidePolicy), currentURL);
         connection.setDoOutput(true);  
         
         //TODO using Message context to decided HTTP send properties 
@@ -632,7 +640,7 @@
                 connection.connect();
                 trustDecider.establishTrust(
                     getConduitName(), 
-                    connectionFactory.getConnectionInfo(connection),
+                    
getConnectionFactory(connection.getURL()).getConnectionInfo(connection),
                     message);
                 if (LOG.isLoggable(Level.FINE)) {
                     LOG.log(Level.FINE, "Trust Decider "
@@ -689,13 +697,6 @@
                 return getURL();
             }
             result = getURL().toString();
-        } else {
-            if (connectionFactory == null 
-                || !result.startsWith(connectionFactory.getProtocol() + ":/")) 
{
-            
-                connectionFactory = null;
-                retrieveConnectionFactory(result);
-            }
         }
         
         // REVISIT: is this really correct?
@@ -1606,15 +1607,7 @@
         // Disconnect the old, and in with the new.
         connection.disconnect();
         
-        if (connectionFactory.getProtocol().equals(newURL.getProtocol())) {
-            connection = 
-                connectionFactory.createConnection(
-                          getProxy(clientSidePolicy), newURL);            
-        } else {
-            connection = 
AbstractHTTPTransportFactory.getConnectionFactory(this, newURL.toString())
-                .createConnection(getProxy(clientSidePolicy), newURL);
-        }
-
+        connection = 
getConnectionFactory(newURL).createConnection(getProxy(clientSidePolicy), 
newURL);
         connection.setDoOutput(true);        
         // TODO: using Message context to deceided HTTP send properties        
         connection.setConnectTimeout((int)getClient().getConnectionTimeout());

Modified: 
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java?rev=748323&r1=748322&r2=748323&view=diff
==============================================================================
--- 
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
 (original)
+++ 
cxf/branches/2.1.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
 Thu Feb 26 21:39:43 2009
@@ -93,6 +93,10 @@
         protected void retrieveConnectionFactory() {
             // do nothing. i.e do not change the connectionFactory field.
         }
+        protected void retrieveConnectionFactory(String s) {
+            // do nothing. i.e do not change the connectionFactory field.
+        }
+        
     }
     /**
      * @throws java.lang.Exception


Reply via email to