java jetty 10中setQueue的等效方法是什么?

wlwcrazw  于 2023-04-10  发布在  Java
关注(0)|答案(2)|浏览(110)

正在考虑setThreadPool()功能

ebdffaop

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,而只是使用一个标准的java java.util.concurrent.ThreadPoolExecutor, Package 了一个org.eclipse.jetty.util.thread.ExecutorThreadPool,你传递给Jetty new Server(ThreadPool)构造函数。你会失去Jetty内置的调试和转储功能,但它会工作。

sczxawaw

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();

相关问题