I've been experimenting with adding and removing host on a running server and have run into some problems. I've attached two patches that gets you part of the way. With these patches, you can now add or remove VirtualHost instances from the Component and then just call stop() and start() to restart the component.
Taking a look at the code, this is much heavier than it should be because at the heart of this is a Router instance. If you could just "reload" the ServerRouter instance in the ComponentHelper class, you wouldn't actually have stop the server. Unfortunately, that field is private and not available via public methods on the Component class. I suggest this is filed as an enhancement to provide a way to "reload" the virtual hosts from the host list. It should be very easy to implement but probably requires a special method on Component. --Alex Milowski
ComponentHelper.java.diff
Description: Binary data
ServerRouter.java.diff
Description: Binary data

