【问题标题】:How to change PaxExam port如何更改 PaxExam 端口
【发布时间】:2013-02-27 22:18:20
【问题描述】:

我有一套使用 PaxExam 成功运行的集成测试。我使用 Maven 运行测试。测试的目的是测试通过在 Karaf 中运行的 Apache CXF 实现的 REST Web 服务。

测试在我的机器上运行,但在 Jenkins 构建期间由于端口冲突而失败。 CXF 使用端口 8181,这似乎是默认的 Jetty 端口。有没有办法在测试套件中以声明方式或编程方式更改此端口?

我尝试使用此处列出的各种 PaxExam 选项:

http://team.ops4j.org/wiki/display/PAXEXAM3/Configuration+Options,但无济于事。

谢谢。

【问题讨论】:

    标签: jetty cxf port apache-karaf pax-exam


    【解决方案1】:

    您使用 Pax-Exam-Karaf 还是使用普通的 Pax-Exam, 如果是 Pax-Exam-Karaf,请使用以下配置:

    KarafDistributionOption.editConfigurationFilePut("etc/org.ops4j.pax.web.cfg",
     "org.osgi.service.http.port", "alternative-port"),
    

    如果是简单的 Pax-Exam:

    systemProperty("org.osgi.service.http.port").value("8181")
    

    您还可以在Karaf Regression Test 上查看 Karaf 如何进行回归测试,或者在Pax-Web Integration Tests 上查看 pax-web 测试

    【讨论】:

    • Achim,谢谢您的回复。确实使用第一个选项解决了 CXF 端口冲突。我仍然收到此消息(尽管它似乎不会影响测试性能):2013-02-28 09:35:04,838 |警告 |离子(3)-127.0.0.1 | NIOSocketConnectorWrapper | ternal.NIOSocketConnectorWrapper 45 | 99 - org.ops4j.pax.web.pax-web-jetty - 1.1.3 |无法打开端口 8080 上的连接。异常:java.net.BindException:地址已在使用中原因:地址已在使用中知道如何更改 Jetty 使用的端口 8080?
    • 取决于您使用的 Karaf/Pax-Web 版本,如果它是 Karaf 的 2.2.x 版本,请忽略它,因为这是由于 ect 文件夹中的 jetty.xml of karaf 也被解释,这个通常首先尝试使用 8080 端口。这是使用码头服务器的方式,首先需要启动码头服务器,然后将其配置为使用正确的端口。这可能是造成这种情况的主要原因。正如我所说,尽量忽略它:-)
    猜你喜欢
    • 2014-09-14
    • 2012-02-04
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多