【发布时间】:2016-08-11 09:03:51
【问题描述】:
我正在尝试在 AEM 6.2 中创建 SOAP 服务(客户端无法进行 REST 调用)。现在它可以正常工作了,问题是当我们重新部署或重置 AEM 实例时......然后服务的端口被锁定。 “create()”出错。
final JaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean();
jaxWsServerFactoryBean.setServiceClass(getWebServiceClass());
jaxWsServerFactoryBean.setAddress(this.webServiceAddress);
jaxWsServerFactoryBean.setServiceBean(this);
jaxWsServerFactoryBean.getInInterceptors().add(new LoggingInInterceptor());
jaxWsServerFactoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
server = jaxWsServerFactoryBean.create();
*ERROR* [OsgiInstallerImpl] org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine Could not start Jetty server on port 4,517: Address already in use: bind
我第一次部署工作正常,但我必须为每次重新部署更改端口...如果在创建之前存在,我将关闭服务器,如果我调用“isStarted()”它会显示错误。
server.getDestination().shutdown();
server.stop();
server.destroy();
真的卡了好几天了,谢谢你的帮助。
【问题讨论】:
-
不是一个答案,而是一个固执的服务消费者,只想使用肥皂。
-
您找到解决方案了吗?我目前在 JUnit 测试用例场景中遇到了这个确切的问题,其中端口也保持锁定,并且进一步的单元测试类无法在同一个 JVM 会话中运行。