有什么方法可以向正在运行的嵌入式Jetty实例添加处理程序?我们已经将一个旧的基于Jetty 6的项目迁移到了Jetty
9,我们需要为我们的插件系统动态添加和删除处理程序…
请参阅下面的示例…
Server server = new Server();
[...]
server.start();
[...]
Handler[] existingHandler = server.getHandlers();
// There is no more
server.addHandler(newHandler);
// only this you can do, but only if the server is stopped
server.setHandler(newHandler)
注意:newHandler
是HandlerCollection
…
使用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);
问题内容: 是否可以使用XML配置中的规范以编程方式添加Log4J2附加程序? 我计划在log4j2.xml中定义所有内容,然后按情况选择追加器(不会编译): 问题答案: 编辑:有关log4j2的最新版本,请参阅下方答案 我给他们留下了不希望您这样做的印象,但这对我有用:
我正在打包一个Web应用程序存档(.war),以便通过在shell中启动它,方法是在主类中使用以下代码启动Jetty 9的嵌入式副本: 但是,当编译第一个包含JSTL taglib声明的JSP时,我遇到了这个错误: null 如果有任何想法或建议,我将不胜感激。此设置将取代旧的设置,旧的设置在Windows上成功地完成了相同的任务,但由于包含了带来此bug的旧依赖项,因此在Linux上无法运行。不
我知道ApplicationContext扩展点,如ApplicationContext事件和BeanFactoryPostProcessor。 我手头的问题是,在创建了一些bean之后,我需要添加bean,我想这会丢弃BeanFactoryPostProcessor选项,因为在应用程序上下文开始注册bean之前会发生这种情况。 我尝试在上下文刷新后添加一个singletonBean:
借助 Qt 提供的 QtUiTools 模块以及其中的 QUiLoader 类我们可以实现在运行时获取并 加载.ui 文件。我们可以使用任何 QIODevice 的实例来读取用户界面架构,通常使用 QFile 类的实例。QUiLoader::load() 方法读取了.ui 文件中包含的界面架构并将它赋予一个 QWidget 子类化的实例。 本节介绍的实例名为 calculatorbuilder,仍
我试图实例化插件,配置它并将其传递给我的模型上的方法,但似乎没有任何效果。下面是我的代码: 我做错了什么?