Apache CXF中的Jetty线程池嵌入

时间:2016-04-05 10:25:51

标签: java cxf embedded-jetty

我处理第三方编写的代码(这是一个独立的软件),我找到了一个代码部分,我不清楚:

JAXRSServerFactoryBean restFactory = new JAXRSServerFactoryBean();
for (int index=0; index<resourceClasses.size(); index++) {
    restFactory.setResourceClasses(resourceClasses.get(index));
}
restFactory.setAddress(restServerUrl + restBasePath);
server = restFactory.create();

顺便说一下,实例化一个基于Jetty的Apache CXF 3.1.2服务器,但我在文档中找不到哪些&#34;默认&#34;配置由Jetty使用。

另一个需要是改变Jetty的配置(设置线程池的参数),但我又不知道如何干预(我试图定义一个beans.xml但显然它没有被读取)。

2 个答案:

答案 0 :(得分:1)

如果您正在使用discussion link中所述的Karaf容器,则可以通过添加* .cfg文件来配置池。

前:

要添加的文件: $ KARAF_HOME / etc / org.apache.cxf.http.jetty-8017.cfg

文件内容:

port=8017

threadingParameters.minThreads=10

threadingParameters.maxThreads=50

答案 1 :(得分:0)

代码片段正在尝试创建jaxrs服务器的实例,该服务器将在您的CXF servlet上侦听传入的请求。地址是它将听的路径。例如,如果您的应用程序服务器正在侦听localhost:8080,则应用程序的上下文根是&#34; cr&#34;,cxf的servlet映射是&#34; /&#34; ,然后将地址设置为localhost:8080 / cr /。

您可以使用jetty.xml配置Jetty。详细信息可以在这里找到: https://wiki.eclipse.org/Jetty/Howto/Configure_Jetty

这篇文章也可能有所帮助: How do you set both port and thread pool using embedded jetty, v 9.1.0