axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Chappell <chapp...@sonicsoftware.com>
Subject Proposal attached - Re: Asynchronous Transport in Apache Axis, JMS and beyond
Date Fri, 06 Sep 2002 16:04:08 GMT
Attached is an early draft of the proposal we have been working on. 
Think of it as something that 
highlights the issues and the beginnings of an architecture for
discussion purposes.  We are looking forward to feedback from the group.
Dave


James M Snell wrote:
> 
> Yeah yeah, I know, spin locks suck.  I've been caught taking the quick
> route for the prototype.  Will fix it ;-)
> 
> - James Snell
>      IBM Emerging Technologies
>      jasnell@us.ibm.com
>      (559) 587-1233 (office)
>      (700) 544-9035 (t/l)
>      Programming Web Services With SOAP
>          O'Reilly & Associates, ISBN 0596000952
> 
>      Have I not commanded you? Be strong and courageous.
>      Do not be terrified, do not be discouraged, for the Lord your
>      God will be with you whereever you go.    - Joshua 1:9
> 
> "Steve Loughran" <steve_l@iseran.com> wrote on 09/05/2002 03:17:23 PM:
> 
> > ----- Original Message -----
> > From: "David Chappell" <chappell@sonicsoftware.com>
> > To: <axis-dev@xml.apache.org>
> > Sent: Thursday, September 05, 2002 3:05 PM
> > Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond
> 
> >
> > > I have a question/concern about this in your Call object -
> > >
> > >     public Object waitForReturnValue(long timeout)
> > >       throws Throwable {
> > >         long start = System.currentTimeMillis();
> > >         while ((System.currentTimeMillis() - start) < timeout &&
> > >                getAsyncStatus() == ASYNC_RUNNING) {}
> > >         if (this.returnedFault != null) throw this.returnedFault;
> > >         return this.returnValue;
> > >     }
> > >
> > > If there are a lot of these things pending, wouldn't that tight loop
> > > chew up some significant CPU?  It might be better to have another
> thread
> > > that does a wait(timeout).  Then SimpleAsyncCall.invoke() could
> notify()
> > > it.  Perhaps the Listener could be the Runnable since that's a common
> > > class between them.  Its twice as many threads, but in the long run it
> > > might be worth it.  This is billed as "Simple", so I know I am being
> > > nit-picky.  But this is all good stuff to figure out.
> > >
> 
> > It kills laptops too, and performance if the local system is actually
> > servicing the response. At the very least, sleep for a bit.
> 
> > I'm -1 on spinlocks except for the special case of device drivers on an
> MP
> > system that cannot yield to the OS.

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <chappell@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

Mime
View raw message