使用Jetty 9.1.0.v20131115,您可以mutableWhenRunning
在HandlerCollection
构造函数上使用标志…
HandlerCollection coll = new HandlerCollection(true);
isStarted()
在.setHandlers(Handlers[])
和.addHandler(Handler)
调用期间,这将忽略对集合本身的测试。
此行为仅适用于HandlerCollection
自身,您可以添加单个处理程序,也可以设置整个处理程序树,而无需考虑LifeCycle
的HandlerCollection
。
例如:
Server server = new Server(8080);
HandlerCollection myhandlers = new HandlerCollection(true);
server.setHandler(myhandlers);
// add some initial handlers
myhandlers.setHandlers(new Handlers[] { helloHandler, indexHandler });
// start server
server.start();
// ... at some point later, during runtime
FooHandler fooHandler = new FooHandler();
fooHandler.start();
myhandlers.addHandler(fooHandler);
BarHandler barHandler = new BarHandler();
barHandler.start();
myhandlers.addHandler(barHandler);