如何以编程方式关闭嵌入式jetty服务器?
我像这样启动jetty服务器:
Server server = new Server(8090);
...
server.start();
server.join();
现在,我想从一个请求中关闭它,比如,我该如何干净利落地完成它?
通常提出的解决方案是创建一个线程并从该线程调用server.stop()。但是我可能需要调用Thread.sleep()来确保servlet已经完成了对关闭请求的处理。
我创建了一个eclipse项目,并添加了jetty依赖项。接下来,我创建了一个简单的servlet和一个启动jetty服务器的类。到目前为止,我得到的是:
package com.example.jetty;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
public class App {
public static void main(String[] args) throws Exception {
Server s
Jetty在9/10至10/11之间改变了日志记录的工作方式,过去可以通过org.eclipse.jetty.util.log.Log.setLog()传递记录器,现在已经不再推荐它了。它似乎是非功能性的,而不是被废弃的,因为在该方法的正文中有一条注释说// does nothing。遗憾的是,没有任何迹象表明有解决办法。
那么,如何以编程方式调整Jetty 11中的日志记录呢?
在使用cxf创建JAX-RS端点时,我间接启动了一个jetty实例 JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(HelloWorldResource.class);
sf.setResourceProvider(HelloWorldResource.class, new SingletonResourceProvider(new HelloWorldResource()));
sf.setAddress("http://localhost