[omniORB] Multi-threaded clients

Christof Meerwald cmeerw@web.de
Tue, 8 May 2001 01:41:37 +0200


On Mon, 7 May 2001 16:08:26 -0700 (PDT), Robert Huffman wrote:
> We're having a problem with multi-threaded Java clients connecting to a
> C++ OmniORB server.  To build the Java client, we use the idl2java
> compiler provided with Sun's JDK.
> 
> It appears that any call to the server will block all the other threads
> that are trying to call the server.  So, despite the fact that OmniORB

The problem here is that most Java ORBs multiplex concurrent requests to the
same server over one connection, but omniORB only implements a
thread-per-connection threading model on the server side. Therefore omniORB
can only process one request per connection concurrently.

The way omniORB implements its thread-per-connection model doesn't limit
concurrency if the client also opens a new connection for each concurrent
request. BTW, this is documented (in more detail) somewhere in the omniORB
documentation.


As far as I know (from reading this mailing list), this interoperability
issue will be addressed in omniORB 4; see
http://www.uk.research.att.com/omniORB/archives/2001-03/0060.htm


bye, Christof

-- 
http://cmeerw.cjb.net                          Jabber: cmeerw@jabber.at
mailto cmeerw at web.de                   ICQ: 93773535, Yahoo!: cmeerw