Nice job tom, 

marcf 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of Tom Elrod
> Sent: Thursday, December 04, 2003 11:48 PM
> To: [EMAIL PROTECTED]
> Subject: [JBoss-dev] One way invocations in remoting added
> 
> I have added the ability to do true one way invocations 
> within JBoss Remoting.  I also started a small section within 
> the JBoss Remoting document on it (included see below).
> 
> While the code is functional, my performance tests have 
> uncovered some scale problems within the remoting code that I 
> am going to begin working on.  After I get this ironed out I 
> plan on putting together a matrix showing the performance 
> trade offs between the different one way calls and the two 
> calls using different protocol transports.
> 
> If you have any questions, please let me know.  Any feedback 
> would be greatly appreciated (positive or negative).
> 
> BTW, you can find the JBoss Remoting doc at 
> http://jboss.org/modules/html/developers/projects/jboss/remoti
> ng/jboss_remoting.doc
> 
> Thanks.
> 
> -Tom
> 
> One way invocations
> 
> The JBoss Remoting framework also provides the ability to 
> make one way calls for invocations that are not expecting a 
> return value.  Using one way invocations will greatly 
> increase the rate at which a client may make remote calls.  
> The traditional two way invocation will cause the calling 
> client thread to block as it makes a request to the server, 
> wait for the request to be processed and then a value 
> returned to the waiting client thread, at which point it will 
> return.  In one way invocations the calling client request is 
> handled by a thread pool to perform the request.  Thus, the 
> client thread is returned as soon as the request has been 
> handed off to the thread pool and does not have to wait for 
> the request to be processed.
> 
> There are two configurations that can be used when making a 
> one way call; the first is to have the request performed by a 
> thread pool that exists on the client and the other is to 
> have the request performed by a thread pool that exists on the server.
> 
> 
> 
> 
> 
> Client side one way
> 
> When using the client side thread pool to perform the 
> request, the calling thread will return almost immediately 
> and the request will be executed by a different worker 
> thread.  Even though this method reduces the execution time 
> by the calling thread, the caller looses visibility to any 
> exceptions that may occur contacting the server, such as in 
> the case that the server is down.
> 
> Server side one way
> 
> When using the server side thread pool to perform the 
> request, the calling thread will follow the execution path 
> through the transport to the server side.  The server will 
> receive the request and place in a thread pool to be executed 
> on the server side and the calling thread will return.  The 
> request will then be executed by a worker thread on the 
> server side.  Although using the server side one way 
> configuration is a little slower than the client side one 
> way, the caller will be thrown any exceptions that may occur 
> in the process of calling to the server.
> 
> In either configuration, server side or client side, the 
> caller will not be aware of any exceptions that occur during 
> the actual processing of the request within the server handler.
> 
> 
> One way API
> 
> One way invocations are exposed within the 
> org.jboss.remoting.Client class.  The relevant methods are:
> 
> public void invokeOneway(final Object param, final Map 
> sendPayload, boolean clientSide) throws Throwable
> 
> public void invokeOneway(Object param, Map sendPayload) 
> throws Throwable
> 
> The method containing the boolean parameter allows users to 
> decide if should use client side or server side thread pool 
> execution.  The other method defaults to server side thread 
> pool execution.
> 
> Making calls on the one way invoke methods is the same as you 
> would on the two way invoke method.
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: IBM Linux Tutorials.
> Become an expert in LINUX or just sharpen your skills.  Sign 
> up for IBM's
> Free Linux Tutorials.  Learn everything from the bash shell 
> to sys admin.
> Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
> _______________________________________________
> JBoss-Development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to