2011/10/11 Daniel Kulp <dk...@apache.org>: > On Sunday, October 09, 2011 9:27:09 AM Willem Jiang wrote: >> Hi Dan, >> >> I think the first option is OK, and it can let the user know what's >> wrong immediately. >> The other two option will be confused to the user if he just see the >> error and the call is succeed. > > After thinking about this some more, option 1 is REALLY a bad option. The > problem is that the request has been sent. Thus, the server is processing it > and doing whatever it's supposed to do. However, the client has no > indication about the status of that request, any way to get a response, fault, > etc....
The situation where the service being called but the response is not fully returned to the client can happen to a synchronous case as well. So, the behavior of 1 is unfriendly, but considering its simplicity, I thought it was not so bad. In the worst case, if option 2 accumulates rejected calls for later queuing, some of those calls must eventually take the same fate as in the option 1 to avoid an uncontrolled accumulation of calls. So, option 2 isn't necessarily a better solution than option 1, or is it? regards, aki > > I put #3 in place, but that has other issues with Camel, but none as bad a > option #1. I'm still playing with various options. > > Dan > > >> >> On Thu Oct 6 09:31:30 2011, Daniel Kulp wrote: >> > I have a question for folks to see what folks would think is the "best >> > option". Basically, if you use one of the JAX-WS async methods on a >> > client when talking to an HTTP service, we have to put a runnable on >> > the workqueue to handle the response. The question is, what should we >> > do if the workqueue is full? Could options: >> > >> > 1) (current behavior) Throw the RejectedExecutionException so the user >> > knows they are exceeding defaults and likely should reconfigure things. >> > >> > 2) Loop in a Thread.yield and retry putting it on the queue until >> > successfull. >> > >> > 3) Run the runnable synchronously on the calling thread. >> > >> > Likely 2 and 3 would both log a WARNING to let the user know to >> > reconfigure. >> > >> > >> > Obviously, the best solution would be to finish the work I did to use >> > the >> > apache http-client instead of the HttpURLConnection, but lets not go >> > there right now. :-) >> > >> > Anyway, thoughts? > -- > Daniel Kulp > dk...@apache.org > http://dankulp.com/blog > Talend - http://www.talend.com >