1

是否有可能(API)通过 Pax-Web 以编程方式添加 Jetty 连接器。Pax-Web 内部使用了一个不错的JettyServer界面,但似乎没有可用的 OSGi 服务。必须可用的端口事先不知道,所以我不能jetty.xml用于配置目的。

有人有想法吗?

4

2 回答 2

0

由于您似乎只是想更改端口,因此您应该使用 OSGi 方式并使用适当的配置配置 pax web。另请参阅:https ://ops4j1.jira.com/wiki/display/paxweb/Basic+Configuration

有问题的配置是 org.osgi.service.http.port

该端口可以通过配置管理服务进行配置。如果配置更改,码头服务器将重新启动。

关于服务的最初问题,目前还不可能,但有一个可用的 JIRA 问题,非常感谢您的贡献。

于 2014-12-24T09:14:37.193 回答
0

从 PaxWeb 4.1.0 开始,您可以通过将它们注册为服务来注册所需的连接器(例如,它允许针对 Poodle 漏洞排除 SSL 协议)

    SslContextFactory contextFactory = new SslContextFactory();
    contextFactory.addExcludeProtocols("SSLv2Hello", "SSLv3");
    contextFactory.setKeyStorePath("PATH_TO_KEYSTORE");
    contextFactory.setKeyStorePassword("KEYSTORE_PASSWORD");
    contextFactory.setTrustStore("PATH_TO_TRUSTSTORE");
    contextFactory.setTrustStorePassword("TRUSTSTORE_PASSWORD");
    contextFactory.setNeedClientAuth(true);
    contextFactory.setWantClientAuth(true);

    Connector sc = new SslSelectChannelConnector(contextFactory);
    sc.setPort(8443);
    ServiceRegistration<Connector> registerService = bundleContext.registerService(Connector.class, sc, null);

主要取自 pax 网络文档http://ops4j.github.io/pax/web/SNAPSHOT/

于 2015-08-04T14:47:19.443 回答