You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Sangjin Lee (JIRA)" <ji...@apache.org> on 2007/11/21 01:43:43 UTC

[jira] Created: (GERONIMO-3616) AsyncHttpClient should support a batch invocation method

AsyncHttpClient should support a batch invocation method
--------------------------------------------------------

                 Key: GERONIMO-3616
                 URL: https://issues.apache.org/jira/browse/GERONIMO-3616
             Project: Geronimo
          Issue Type: New Feature
      Security Level: public (Regular issues)
          Components: AsyncHttpClient
    Affects Versions: 1.x
            Reporter: Sangjin Lee


It is desirable to have a method on AsyncHttpClient that submits multiple URLs at once.  For example,

public void sendRequests(HttpRequestMessage[] requests);

One would expect it to initiate all HTTP requests as soon as possible in a non-blocking manner and return.

Furthermore, it would be even more powerful if it returned a list of futures or a completion queue of results.  One idea would be to return something like a completion queue (blocking) so that results or futures are added as they are completed.  In other words,

public BlockingQueue<HttpResponseMessage> sendRequests(HttpRequestMessage[] requests);


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-3616) AsyncHttpClient should support a batch invocation method

Posted by "Sangjin Lee (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sangjin Lee updated GERONIMO-3616:
----------------------------------

    Attachment: patch.zip

a suggested patch

> AsyncHttpClient should support a batch invocation method
> --------------------------------------------------------
>
>                 Key: GERONIMO-3616
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3616
>             Project: Geronimo
>          Issue Type: New Feature
>      Security Level: public(Regular issues) 
>          Components: AsyncHttpClient
>    Affects Versions: 1.x
>            Reporter: Sangjin Lee
>         Attachments: patch.zip
>
>
> It is desirable to have a method on AsyncHttpClient that submits multiple URLs at once.  For example,
> public void sendRequests(HttpRequestMessage[] requests);
> One would expect it to initiate all HTTP requests as soon as possible in a non-blocking manner and return.
> Furthermore, it would be even more powerful if it returned a list of futures or a completion queue of results.  One idea would be to return something like a completion queue (blocking) so that results or futures are added as they are completed.  In other words,
> public BlockingQueue<HttpResponseMessage> sendRequests(HttpRequestMessage[] requests);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-3616) AsyncHttpClient should support a batch invocation method

Posted by "Sangjin Lee (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12549144 ] 

Sangjin Lee commented on GERONIMO-3616:
---------------------------------------

I have a patch ready that addresses this issue and also GERONIMO-3617.

Essentially the sendRequest() method is modified to return a ResponseFuture instead of void.  In addition, an overloaded version of sendRequest() is created to take an additional argument of BlockingQueue<ResponseFuture>.  The queue will serve as a completion queue on which a ResponseFuture object will be added as the request is complete.

The semantics is entirely analogous to a familiar java.util.concurrent.CompletionService, although I thought creating a concrete CompletionService implementation was an overkill.

I have also created a test class that exercises the new method.

I'll be uploading the patch...


> AsyncHttpClient should support a batch invocation method
> --------------------------------------------------------
>
>                 Key: GERONIMO-3616
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3616
>             Project: Geronimo
>          Issue Type: New Feature
>      Security Level: public(Regular issues) 
>          Components: AsyncHttpClient
>    Affects Versions: 1.x
>            Reporter: Sangjin Lee
>         Attachments: patch.zip
>
>
> It is desirable to have a method on AsyncHttpClient that submits multiple URLs at once.  For example,
> public void sendRequests(HttpRequestMessage[] requests);
> One would expect it to initiate all HTTP requests as soon as possible in a non-blocking manner and return.
> Furthermore, it would be even more powerful if it returned a list of futures or a completion queue of results.  One idea would be to return something like a completion queue (blocking) so that results or futures are added as they are completed.  In other words,
> public BlockingQueue<HttpResponseMessage> sendRequests(HttpRequestMessage[] requests);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (GERONIMO-3616) AsyncHttpClient should support a batch invocation method

Posted by "Jeff Genender (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Genender closed GERONIMO-3616.
-----------------------------------

    Resolution: Fixed

Patch applied from GERONIMO-3615.

> AsyncHttpClient should support a batch invocation method
> --------------------------------------------------------
>
>                 Key: GERONIMO-3616
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3616
>             Project: Geronimo
>          Issue Type: New Feature
>      Security Level: public(Regular issues) 
>          Components: AsyncHttpClient
>    Affects Versions: 1.x
>            Reporter: Sangjin Lee
>         Attachments: patch.zip
>
>
> It is desirable to have a method on AsyncHttpClient that submits multiple URLs at once.  For example,
> public void sendRequests(HttpRequestMessage[] requests);
> One would expect it to initiate all HTTP requests as soon as possible in a non-blocking manner and return.
> Furthermore, it would be even more powerful if it returned a list of futures or a completion queue of results.  One idea would be to return something like a completion queue (blocking) so that results or futures are added as they are completed.  In other words,
> public BlockingQueue<HttpResponseMessage> sendRequests(HttpRequestMessage[] requests);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (GERONIMO-3616) AsyncHttpClient should support a batch invocation method

Posted by "Sangjin Lee (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12549144 ] 

sjlee0 edited comment on GERONIMO-3616 at 12/6/07 11:17 AM:
-----------------------------------------------------------------

I have a patch ready that addresses this issue and also GERONIMO-3615.

Essentially the sendRequest() method is modified to return a ResponseFuture instead of void.  In addition, an overloaded version of sendRequest() is created to take an additional argument of BlockingQueue<ResponseFuture>.  The queue will serve as a completion queue on which a ResponseFuture object will be added as the request is complete.

The semantics is entirely analogous to a familiar java.util.concurrent.CompletionService, although I thought creating a concrete CompletionService implementation was an overkill.

I have also created a test class that exercises the new method.

I'll be uploading the patch...


      was (Author: sjlee0):
    I have a patch ready that addresses this issue and also GERONIMO-3617.

Essentially the sendRequest() method is modified to return a ResponseFuture instead of void.  In addition, an overloaded version of sendRequest() is created to take an additional argument of BlockingQueue<ResponseFuture>.  The queue will serve as a completion queue on which a ResponseFuture object will be added as the request is complete.

The semantics is entirely analogous to a familiar java.util.concurrent.CompletionService, although I thought creating a concrete CompletionService implementation was an overkill.

I have also created a test class that exercises the new method.

I'll be uploading the patch...

  
> AsyncHttpClient should support a batch invocation method
> --------------------------------------------------------
>
>                 Key: GERONIMO-3616
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3616
>             Project: Geronimo
>          Issue Type: New Feature
>      Security Level: public(Regular issues) 
>          Components: AsyncHttpClient
>    Affects Versions: 1.x
>            Reporter: Sangjin Lee
>         Attachments: patch.zip
>
>
> It is desirable to have a method on AsyncHttpClient that submits multiple URLs at once.  For example,
> public void sendRequests(HttpRequestMessage[] requests);
> One would expect it to initiate all HTTP requests as soon as possible in a non-blocking manner and return.
> Furthermore, it would be even more powerful if it returned a list of futures or a completion queue of results.  One idea would be to return something like a completion queue (blocking) so that results or futures are added as they are completed.  In other words,
> public BlockingQueue<HttpResponseMessage> sendRequests(HttpRequestMessage[] requests);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.