为了账号安全,请及时绑定邮箱和手机立即绑定

以编程方式配置通过 CXF 启动的码头

以编程方式配置通过 CXF 启动的码头

杨魅力 2022-11-02 16:46:25
使用 cxf 创建 JAX-RS 端点时,我间接启动了一个码头实例    JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();    sf.setResourceClasses(HelloWorldResource.class);    sf.setResourceProvider(HelloWorldResource.class, new SingletonResourceProvider(new HelloWorldResource()));    sf.setAddress("http://localhost:9000/");    sf.create();这工作得很好,但是当通过 CXF 启动它时,如何以编程方式配置码头线程池 minThreads 和 maxThreads 的大小?
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

给你:


    JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();


        // you need to provide a default configuration

    JettyHTTPServerEngineFactory serverEngineFactory = sf.getBus().getExtension(JettyHTTPServerEngineFactory.class);


    JettyHTTPServerEngine eng = new JettyHTTPServerEngine();

    eng.setPort(0); // with the port zero

    ThreadingParameters defaultThreadingParams = new ThreadingParameters();

    defaultThreadingParams.setMinThreads(5);

    defaultThreadingParams.setMaxThreads(10);

    defaultThreadingParams.setThreadNamePrefix("myjetty");

    eng.setThreadingParameters(defaultThreadingParams);

    serverEngineFactory.setEnginesList(Arrays.asList(eng));


    sf.setResourceProvider(HelloWorldResource.class, new SingletonResourceProvider(new HelloWorldResource()));

    sf.setAddress("http://localhost:9000/");

    sf.create();

根据我的测试,至少应该指定 4 个线程。


使用 CXF 3.3.3 测试


查看完整回答
反对 回复 2022-11-02
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信