[ 
https://issues.apache.org/jira/browse/AVRO-544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885694#action_12885694
 ] 

Scott Carey commented on AVRO-544:
----------------------------------

+1 on AVRO-544-2.patch

bq. What's the rational for splitting these up? If you need to have explicit 
control over starting/stopping the server, then I would have a start() method 
as per above, otherwise just put both into the constructor.

start() should not block.  The constructor should most definitely not block.  
If a user wants to block, there is join(), they should not be forced to block 
and burn up a thread.

Use cases I've had where I don't want to block are numerous.

Here is an example, two servers with different ports / configurations plus a 
thread pool with scheduled tasks for custom business logic:

{code}
MyCustomExecutorService pool = ...
HttpServer server1 = ...
HttpServer server2 = ...

pool.submitWithFixedDelay(someTask);
server1.start();
server2.start();

boolean shutdown = false;
while(!shutdown) {
  shutdown = MyCustomShutdownListener.awaitShutdown();
}
server2.stop();
server1.stop();
pool.shutdownNow();
{code}

Also, it is generally better to explicitly start asynchronous activities after 
construction and configuration of their representative entities -- there are 
many use cases where construction and starting should be separated.



> Allow the HttpServer to serve forever without a call to Thread.sleep()
> ----------------------------------------------------------------------
>
>                 Key: AVRO-544
>                 URL: https://issues.apache.org/jira/browse/AVRO-544
>             Project: Avro
>          Issue Type: New Feature
>          Components: java
>            Reporter: Jeff Hammerbacher
>            Assignee: Jeff Hammerbacher
>             Fix For: 1.4.0
>
>         Attachments: AVRO-544-2.patch, AVRO-544.patch
>
>
> One way would be to expose the join() method on the HttpServer: 
> http://jetty.codehaus.org/jetty/jetty-6/apidocs/org/mortbay/jetty/Server.html#join%28%29

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

Reply via email to