axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glyn Normington" <glyn_norming...@uk.ibm.com>
Subject Re: [Vote] Re: Asynchronous Transport in Apache Axis, JMS and beyond
Date Mon, 09 Sep 2002 10:26:34 GMT
+1 to putting the prototype in the proposals directory. I feel
uncomfortable dropping it in the main directories given that it sounds like
there is a good deal of fleshing out left to do and we are close to cutting
1.0.

Glyn


                                                                                         
                                           
                      "James M Snell"                                                    
                                           
                      <jasnell@us.ibm.c        To:       axis-dev@xml.apache.org      
                                              
                      om>                      cc:                                    
                                              
                                               Subject:  [Vote]  Re: Asynchronous Transport
in Apache Axis, JMS and beyond           
                      07/09/02 00:36                                                     
                                           
                      Please respond to                                                  
                                           
                      axis-dev                                                           
                                           
                                                                                         
                                           
                                                                                         
                                           



I like the basic approach and have a proposal.

For the Axis 1.0 release, I'd like to introduce my initial prototype (with
it's several flaws) as a "Preview".  Not perfect, but better than what's
currently available and functional.  I just ran through all of the
functional tests and everything checks out.  The code works, the tests
work, etc etc.  Then, for post 1.0, we can work on a more fully fleshed
out approach that brings together the various ideas that have been
discussed in this thread (specifically, those put forth by the Sonic
folks, Alek and Steve).

Please vote -1 or +1 .

- 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/06/2002 02:52:38 PM:

> ----- Original Message -----
> From: "Aleksander Slominski" <aslom@cs.indiana.edu>

> > java.nio is much more lower level than what i was thinking about
> > (it can be useful to implement efficient web services server but
> > i do not think it is currently under consideration in AXIS ...).

> yeah, it'd be slick if tomcat picked it up. There is always axis client
side
> transport to consider tho'...

> > instead i wanted something that is _like_ select but to
> > track asynchronous responses, here is how it could work:
> >
> > // create select() capable object
> > AsyncCallController selector = service.createAsyncCallController();
> >
> > // start first async call
> > Call     call1   = (Call) service.createCall();
> > call1.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
> > call1.setTargetEndpointAddress( new java.net.URL(endpoint1) );
> > call1.setOperationName( new QName("namespace", "getQuote"));
> > call1.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
> > call1.invoke( new Object[] { "IBM" } );
> >
> > // start second async call
> > Call     call2   = (Call) service.createCall();
> > call2.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
> > call2.setTargetEndpointAddress( new java.net.URL(endpoint2) );
> > call2.setOperationName( new QName("namespace", "doFoo"));
> > call2.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
> > call2.invoke( new Object[] { "IBM" } );
> >
> > // now let wait for first response from call1 or call2
> > while(selector.hasOutstandingCalls()) {
> >    try {
> >       Call call = selector.waitForAsyncreponse(1000);
> >        if(call == call1) {
> >            // this is reposnse for call1
> >            System.out.println("this is reponse for call1
> "+call.getReturnValue());
> >        } else if(call == call2) {
> >            System.out.println("this is reponse for call2
> "+call.getReturnValue());
> >        }
> >        }
> >    } catch(InterruptedException ex) {
> >    }
> > }
> > System.out.println("done!");
> >
> > i think that this would allow user code to create N asynchronous
> > requests and efficiently wait and process async responses.

> That would work.





Mime
View raw message