Forgot to mention, I am using CXF 3.1.0.

On Thu, Jun 11, 2015 at 7:30 PM, Kalpak Gadre <[email protected]> wrote:

> Hi,
>
> I figured that the Client classes that are generated have an ability to
> set an executor on it, although I have now managed to migrate to Spring IOC
> (I was using Guice) which has allowed to me make things more easier to
> configure.
>
> I have declared client beans in Spring XML like below and I am able to
> inject them into other components.
>
> <jaxws:client id="lntSoapClient"
>       serviceClass="com.test.MyServiceInterface"
>       address="http://somedomain/services/Service1";
>       bus="mybus">
> <jaxws:properties>
>     <entry key="executor" value-ref="akkaExecutor"/>
> </jaxws:properties>
> </jaxws:client>
>
> I have also managed to enable the Async HTTP transport working which has
> given noticeable performance gain (I am still using synchronous method
> calls, I am puzzle about this)
>
> What I am trying to understand now is,
>
> 1. if I call an async method which returns a Future, which thread-pool
> does it use?
> 2. Is there any way I can control the thread-pool each client bean uses?
> 3. Does the Async Transport use its own thread-pool? Can I make it use
> external thread-pool?
>
> I have not found a way to set an Executor on the client proxy when I am
> creating them through Spring configuration.
>
> Any pointers?
>
> Thanks,
> Kalpak
>
>
> On Wed, Jun 10, 2015 at 12:10 AM, Kalpak Gadre <[email protected]> wrote:
>
>> Hi,
>>
>> I am working on a project which is developed using Play Framework. The
>> project needs to interact with a number of third party SOAP services. It is
>> very important for the system to be scalable by design and should allow
>> high number of concurrent requests. I understand that this can be achieved
>> using Async HTTP Transport.
>>
>> For now, I am using Java interfaces and classes generated through
>> wsdl2java utility. Currently I have generated services with synchronous
>> calls. I plan to use -asyncMethods switch and generate asynchronous
>> services.
>>
>> I am trying to figure out how I can manage the threads used by async web
>> service calls.
>>
>> Few questions I have are,
>>
>> 1. How can I control the thread pool / executor used by the WS client?
>> 2. How can I shared the same thread pool / executor across multiple
>> clients?
>> 3. Does the Async HTTP transport use another thread pool / executor? Can
>> it also share the same with rest of the WS clients?
>> 4. Do I need to create a spring config and create all the client beans
>> there to be able to manage them through single CXF instance (bus)? I wonder
>> if it is a good idea to independently create WS client instances?
>>
>> Overall I hope I am not doing anything fundamentally wrong. I hope that
>> using async client methods and async transport the system will allow
>> multiple concurrent calls.
>>
>> Thanks,
>>
>> Kalpak
>>
>>
>
>
> --
> Kalpak R. Gadre
>



-- 
Kalpak R. Gadre

Reply via email to