You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Baxi, Rinilkumar (TCS)" <ri...@hp.com> on 2008/05/16 13:19:27 UTC

Multi threading in Axis2/C

Hello,

I have been looking at the Axis2/C code. Axis configuration files indicate that Axis supports multi threading. It appears at first glance that it is the HTTP listener (in transport phase) which provides multi threading support. And the rest of Axis(Axis engine, message receiver) is single threaded. Kindly let me know whether my understanding is correct.

Also I'd like to know if its feasible to introduce multi threading in the message receiver.

Thanks and Regards,
Rinil

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Re: Multi threading in Axis2/C

Posted by Manjula Peiris <ma...@wso2.com>.
On Fri, 2008-05-16 at 11:19 +0000, Baxi, Rinilkumar (TCS) wrote:
> Hello,
> 
> I have been looking at the Axis2/C code. Axis configuration files indicate that Axis supports multi threading. It appears at first glance that it is the HTTP listener (in transport phase) which provides multi threading support. And the rest of Axis(Axis engine, message receiver) is single threaded. Kindly let me know whether my understanding is correct.
> 
> Also I'd like to know if its feasible to introduce multi threading in the message receiver.

You may need to write your own message_receiver in the case. [1] is an
example of a custom message receiver. 

Thanks,
-Manjula.

[1]https://wso2.org/repos/wso2/trunk/wsf/php/src/wsf_xml_msg_recv.c


> 
> Thanks and Regards,
> Rinil
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-dev-help@ws.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Re: Multi threading in Axis2/C

Posted by Dinesh Premalal <xy...@gmail.com>.
"Baxi, Rinilkumar (TCS)" <ri...@hp.com> writes:

> Hello,
>
> I have been looking at the Axis2/C code. Axis configuration files
> indicate that Axis supports multi threading. It appears at first
> glance that it is the HTTP listener (in transport phase) which
> provides multi threading support. And the rest of Axis(Axis engine,
> message receiver) is single threaded. Kindly let me know whether my
> understanding is correct.

AFAIK, your understanding is correct. Axis2/C engine is designed to be
operated single threaded in multi threading environment, that is why
we could see using mutexes in op_ctx and conf_ctx.

thanks,
Dinesh
-- 
http://nethu.org

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


RE: Multi threading in Axis2/C

Posted by Bill Mitchell <bm...@austin.rr.com>.
Hello Rinil,

I see two aspects to the multi-threading question, whether Axis2C runs in a
multi-threaded environment, and whether Axis2C itself takes advantage of a
multi-threading.  My experience has been on the client side; it seems your
question may be on the server side, with which I am much less familiar.  

What I can tell you is that Axis2C can be used successfully in a
multithreaded client.  The key is that the processing is done in the context
of an axutil environment structure.  What I found is that I can share one
axis configuration across multiple threads by creating multiple environments
that share the same allocator and logger while each use their own axutil
error handler.  The separate error handler is needed so that each thread
sees only its own errors, not errors that appear in another thread.  Sharing
the allocator allows the configuration to be processed only once for the
client app, instead of being processed as each thread is initialized.  So,
in this case, Axis2C client is running in a multithreaded environment,
without taking any particular advantage of multithreading itself.  

Perhaps someone else can shed some light your question about the message
receiver.  

Enjoy,
Bill 

-----Original Message-----
From: Baxi, Rinilkumar (TCS) [mailto:rinilkumar.baxi@hp.com] 
Sent: Friday, May 16, 2008 6:19 AM
To: Apache AXIS C Developers List
Subject: Multi threading in Axis2/C


Hello,

I have been looking at the Axis2/C code. Axis configuration files indicate
that Axis supports multi threading. It appears at first glance that it is
the HTTP listener (in transport phase) which provides multi threading
support. And the rest of Axis(Axis engine, message receiver) is single
threaded. Kindly let me know whether my understanding is correct.

Also I'd like to know if its feasible to introduce multi threading in the
message receiver.

Thanks and Regards,
Rinil

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org