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/

Reply via email to