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) {