[
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.