Hi James,
I have spent a couple of hours looking at the code so far.  Overall I
think its a good design to build on.  I have some observations and
questions - 

- MessageExchangeImpl.java - This should go on a todo list. 
MessageExchangeCorrelator should have a way of generating/obtaining
something unique for an ID.

- MessageChannel.java - Should put() check for dupes?  Should dupes be
illegal?
-- MessageChannel.select(key) nulls out values, including .next.
KeyedQueue.select(key) won't find things anymore if something is
'removed' from the head or the middle somewhere.  Either somebody needs
to fix up the previous guy's .next befor moving on, or the 'slot' could
be reused if the values are null'd and the .next is maintained.  The
parameter-less versions of these seem OK since they always pull from the
head and KeyedQueue.select() always resets head to its own next.  Is
this the code that was inspired by the link you have listed below?  It
looks a lot like something that I spent some time with that may have
also been inspired by the same guy.  

- Another todo -- What do we do about responses that never come back? 
We need a cleanup strategy.  Come to think of it, I think I was the one
who volunteered to maintain the todo list.

- TestProvider.java -- SendListener.onMessageExchangeContext().  I'm not
sure who's role is what, but its late here on the east coast.  Why does
it get the request message and put it in the response message?  Is he
the pivot?  It would be cool if we could schedule a call to walk through
some of this after other interested parties have had a chance to look at
it.  I'm on the road most of Thursday but tomorrow and Friday are good
for me.

Great stuff.  Talk to you soon.
Dave

James M Snell wrote:
> 
> FYI
> 
> - James Snell
>      IBM Emerging Technologies
>      [EMAIL PROTECTED]
>      (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
> ----- Forwarded by James M Snell/Fresno/IBM on 10/15/2002 01:31 PM -----
> 
> James M Snell/Fresno/IBM
> 10/15/2002 12:34 PM
> 
> To
> [EMAIL PROTECTED], [EMAIL PROTECTED],
> [EMAIL PROTECTED]
> cc
> 
> bcc
> John Feller/Raleigh/IBM@IBMUS
> Subject
> 
> Ok, if you refresh from cvs, there is a zip file called
> AxisInternalMessageExchange.zip in xml-axis/proposals that contains the
> updated interfaces (as per our discussion on IRC today and the raw
> prototype implementation.  The impl is more a test to prove the concepts
> and is not currently integrated into Axis.  In the zip, you will find a
> class called org.apache.axis.ime.internal.test.TestProvider.  This class
> implements the basic behavior that the Axis Engine and Transports will
> need to provide.  It needs quite a bit of cleaning up, simplifying and
> tweaking, but you'll get the basic idea.
> 
> Significant things to point out:
> 
> 1. The event model was changed as discussed on IRC
> 2. Message receive operations are now gated with MessageWorkers as
> discussed on IRC
> 3. The MessageWorkerGroup class needs a lot of work to simplify and
> automate the thread management.  The goal is to make threading details as
> transparent as possible
> 
> Enjoy and let the bashing begin :-)
> 
> (btw, regarding "prior art", the Queued channel model implemented in the
> prototype was inspired by David Lea's util.concurrent library ....
> http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html
> )....
> 
> - James Snell
>      IBM Emerging Technologies
>      [EMAIL PROTECTED]
>      (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

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <[EMAIL PROTECTED]> 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)
--
begin:vcard 
n:Chappell;Dave
tel;cell:617-510-6566
tel;work:781-999-7099
x-mozilla-html:FALSE
url:www.sonicsoftware.com
org:Sonic Software Corp.    <BR><IMG SRC="http://www.sonicsoftware.com/media/general/logos/sonic_logo1.gif"; VSPACE="10">
adr:;;14 Oak Park;Bedford;MA;01730;USA
version:2.1
email;internet:[EMAIL PROTECTED]
title:vice president & chief technology evangelist
fn:Dave Chappell
end:vcard

Reply via email to