正在考虑setThreadPool()功能
ebdffaop1#
QueuedThreadPool的构造函数有一些变体,可以满足您的需要。作为一般提示,如果在升级过程中没有找到setter,请检查同一个类的构造函数。此外,如果您使用的是最新的Jetty 9.x版本,请在构建过程中启用已弃用的方法和类报告,因为它们会为您提供升级前需要解决的代码的线索(检查javadoc中相同类的替换)。
QueuedThreadPool
重要提示:* 不要使用硬队列限制来限制QueuedThreadPool,这将严重影响服务器性能和可伸缩性。*
传统上,回到Jetty 6天,人们会试图通过操纵线程来限制Jetty可以做的事情,这是可行的。但是在Jetty7和Jetty8的过程中,这变得站不住脚了(您可以感谢各种EE规范的这种变化)到Jetty 9开始运行时,试图通过操纵ThreadPool来影响行为已经不再可靠。现在在Jetty 10上,操纵线程池对Jetty应用各种限制实际上对可靠性有害。但一切都没有失去,有许多现有的(和更好的)技术(自Jetty 7天)来限制Jetty上的行为:请求、资源、连接、池等另一个选择是,如果你关心的话,不要使用Jetty默认的QueuedThreadPool,而只是使用一个标准的java java.util.concurrent.ThreadPoolExecutor, Package 了一个org.eclipse.jetty.util.thread.ExecutorThreadPool,你传递给Jetty new Server(ThreadPool)构造函数。你会失去Jetty内置的调试和转储功能,但它会工作。
java.util.concurrent.ThreadPoolExecutor
org.eclipse.jetty.util.thread.ExecutorThreadPool
new Server(ThreadPool)
sczxawaw2#
String getString();String getString = new String();ServerConnector connector = new ServerConnector(server,new HttpConnectionFactory(httpConfig));//设置最大队列大小为100 connector.setQueueCapacity(100);setConnectors(new Connector[] { connector });//启动服务器server.start();
2条答案
按热度按时间ebdffaop1#
QueuedThreadPool
的构造函数有一些变体,可以满足您的需要。作为一般提示,如果在升级过程中没有找到setter,请检查同一个类的构造函数。此外,如果您使用的是最新的Jetty 9.x版本,请在构建过程中启用已弃用的方法和类报告,因为它们会为您提供升级前需要解决的代码的线索(检查javadoc中相同类的替换)。
重要提示:* 不要使用硬队列限制来限制QueuedThreadPool,这将严重影响服务器性能和可伸缩性。*
传统上,回到Jetty 6天,人们会试图通过操纵线程来限制Jetty可以做的事情,这是可行的。
但是在Jetty7和Jetty8的过程中,这变得站不住脚了(您可以感谢各种EE规范的这种变化)
到Jetty 9开始运行时,试图通过操纵ThreadPool来影响行为已经不再可靠。
现在在Jetty 10上,操纵线程池对Jetty应用各种限制实际上对可靠性有害。
但一切都没有失去,有许多现有的(和更好的)技术(自Jetty 7天)来限制Jetty上的行为:请求、资源、连接、池等
另一个选择是,如果你关心的话,不要使用Jetty默认的
QueuedThreadPool
,而只是使用一个标准的javajava.util.concurrent.ThreadPoolExecutor
, Package 了一个org.eclipse.jetty.util.thread.ExecutorThreadPool
,你传递给Jettynew Server(ThreadPool)
构造函数。你会失去Jetty内置的调试和转储功能,但它会工作。sczxawaw2#
String getString();
String getString = new String();ServerConnector connector = new ServerConnector(server,new HttpConnectionFactory(httpConfig));
//设置最大队列大小为100 connector.setQueueCapacity(100);
setConnectors(new Connector[] { connector });
//启动服务器server.start();