Author: ningjiang
Date: Wed Sep 13 01:39:02 2006
New Revision: 442895

URL: http://svn.apache.org/viewvc?view=rev&rev=442895
Log:
Changed ClientImpl.java getConduit to cache the created conduit /n  Cleaned up 
the InstrumentationManagerTest System.out.print message /n recyled the 
polledsession in JMSConduit

Modified:
    
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
    
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
    
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java

Modified: 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java?view=diff&rev=442895&r1=442894&r2=442895
==============================================================================
--- 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
 (original)
+++ 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
 Wed Sep 13 01:39:02 2006
@@ -61,6 +61,7 @@
     Bus bus;
     Endpoint endpoint;
     Method methd;
+    Conduit initedConduit;
     public ClientImpl(Bus b, Endpoint e) {
         bus = b;
         endpoint = e;
@@ -233,22 +234,23 @@
         }
     }
 
-    private Conduit getConduit() {
-        EndpointInfo ei = endpoint.getEndpointInfo();
-        String transportID = ei.getTransportId();
-        try {
-            ConduitInitiator ci = 
bus.getExtension(ConduitInitiatorManager.class)
-                .getConduitInitiator(transportID);
-            return ci.getConduit(ei);
-        } catch (BusException ex) {
-            // TODO: wrap in runtime exception
-            ex.printStackTrace();
-        } catch (IOException ex) {
-            // TODO: wrap in runtime exception
-            ex.printStackTrace();
+    private Conduit getConduit() {        
+        if (null == initedConduit) {
+            EndpointInfo ei = endpoint.getEndpointInfo();
+            String transportID = ei.getTransportId();
+            try {
+                ConduitInitiator ci = 
bus.getExtension(ConduitInitiatorManager.class)
+                    .getConduitInitiator(transportID);
+                initedConduit = ci.getConduit(ei);
+            } catch (BusException ex) {
+                // TODO: wrap in runtime exception
+                ex.printStackTrace();
+            } catch (IOException ex) {
+                // TODO: wrap in runtime exception
+                ex.printStackTrace();
+            }
         }
-        
-        return null;
+        return initedConduit;
     }
     
     protected void setOutMessageProperties(Message message, 
BindingOperationInfo boi) {

Modified: 
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java?view=diff&rev=442895&r1=442894&r2=442895
==============================================================================
--- 
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
 (original)
+++ 
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/InstrumentationManagerTest.java
 Wed Sep 13 01:39:02 2006
@@ -57,8 +57,7 @@
         wqm.setBus(bus);
         EventProcessor ep = bus.getExtension(EventProcessor.class);
         QName eventID = new 
QName(ComponentEventFilter.COMPONENT_CREATED_EVENT);
-        if (null != ep) {
-            System.out.println("send automaticWorkQueue created event");
+        if (null != ep) {         
             ep.sendEvent(new Event(wqm, eventID));
         }        
         

Modified: 
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java?view=diff&rev=442895&r1=442894&r2=442895
==============================================================================
--- 
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
 (original)
+++ 
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
 Wed Sep 13 01:39:02 2006
@@ -39,6 +39,7 @@
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageImpl;
 import org.apache.cxf.service.model.EndpointInfo;
@@ -57,16 +58,13 @@
     
       
     protected JMSSessionPoolConfigPolicy sessionPoolConfig;    
-    protected JMSConduitConfiguration jmsCondConf;
+    protected JMSConduitConfiguration jmsCondConf;   
     
-       
-    //private final Bus bus;
     private MessageObserver incomingObserver;
     private EndpointReferenceType target;
-    //private DecoupledDestination decoupledDestination;
-    private boolean textPayload;
+   
+    private boolean textPayload;    
     
-    //NOTE need to define the JMSConduit to be server or client
     public JMSConduit(Bus b, EndpointInfo endpointInfo) {
         this(b, endpointInfo, null);
     }
@@ -81,9 +79,7 @@
     public JMSConduit(Bus b,
                       EndpointInfo endpointInfo,
                       EndpointReferenceType target,
-                      JMSConduitConfiguration conf) {
-        //bus = b;
-        /*port = EndpointReferenceUtils.getPort(bus.getWSDLManager(), epr);*/
+                      JMSConduitConfiguration conf) {           
         super(b, endpointInfo, false, conf);        
         jmsCondConf = conf;          
         queueDestinationStyle =
@@ -116,8 +112,14 @@
         }
 
         try {
+            boolean isOneWay = false;        
+            //test if the message is oneway message
+            Exchange ex = message.getExchange();
+            if (null != ex) {
+                isOneWay = ex.isOneWay();
+            }    
             //get the pooledSession with response expected 
-            PooledSession pooledSession = sessionFactory.get(true);
+            PooledSession pooledSession = sessionFactory.get(!isOneWay);       
     
             // put the PooledSession into the outMessage
             message.put(JMSConstants.JMS_POOLEDSESSION, pooledSession);
             
@@ -220,7 +222,8 @@
                 commitOutputMessage();
                 if (!isOneWay) {
                     handleResponse();
-                }    
+                }
+                sessionFactory.recycle(pooledSession);
             } catch (JMSException jmsex) {
                 LOG.log(Level.WARNING, "JMS connect failed with JMSException : 
", jmsex);            
                 throw new IOException(jmsex.toString());
@@ -322,7 +325,7 @@
             }  
             
             LOG.log(Level.FINE, "The Response Message is : [" + response + 
"]");
-            sessionFactory.recycle(pooledSession);
+            
             // setup the inMessage response stream
             byte[] bytes = null;
             if (response instanceof String) {


Reply via email to