hi Glen,
A quick question, will go through this change properly tomorrow.
Lets say I want to invoke a service using service client with multiple
threads as follows,
Thread Class.
public class InvokeService implements Runnable{
private ConfigurationContext configurationContext = null;
public InvokeService(ConfigurationContext configurationContext) {
this.configurationContext = configurationContext;
}
public void run() {
try {
ServiceClient serviceClient = new
ServiceClient(configurationContext,null);
serviceClient.setTargetEPR(new EndpointReference("
http://localhost:8088/axis2/services/Version"));
serviceClient.getOptions().setAction("urn:getVersion");
OMElement omElement = serviceClient.sendReceive(null);
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
}
}
}
Invocation class
try {
ConfigurationContext configurationContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null,null);
for (int i=1;i<5;i++){
InvokeService invokeService = new
InvokeService(configurationContext);
Thread thread = new Thread(invokeService);
thread.start();
}
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
}
1. In this case with your new change how many
MultiThreadedHttpConnectionManager
instances created?
2. In your test case you have use options.setCallTransportCleanup(true); is
this manadatory?
As you know this builds the OMElement before returning the response. Which
is not what every one needs.
thanks,
Amila.
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/