apache/dubbo

[Bug] Dubbo3.2.16 does not support the use of the same port for Tomcat and REST ports, resulting in port conflicts upon startup

Open

#15 273 ouverte le 25 mars 2025

Voir sur GitHub
 (3 commentaires) (1 réaction) (0 assignés)Java (26 453 forks)batch import
help wanted

Métriques du dépôt

Stars
 (41 524 stars)
Métriques de merge PR
 (Merge moyen 7j 14h) (20 PRs mergées en 30 j)

Description

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

dubbo3.2.16 spring5 jdk1.8

Steps to reproduce this issue

dubbo.properties配置

dubbo.application.logger = slf4j dubbo.application.name = dubbo-provider dubbo.application.owner = xiben dubbo.registry.address = zookeeper://192.x.x.x:2384

dubbo.protocols.rest.name=rest dubbo.protocols.rest.port=8080 dubbo.protocols.rest.server=servlet dubbo.protocols.rest.contextpath=/provider

dubbo.protocols.dubbo.port = -1 dubbo.application.qos-enable = false

What you expected to happen

没有使用springboot技术,使用传统war包部署在tomcat容器中,tomcat端口是8080,rest配置成8080时,报错如下 java.lang.RuntimeException: java.net.BindException: Address already in use: bind at org.apache.dubbo.registry.integration.ExporterFactory.lambda$createExporter$0(ExporterFactory.java:33) ~[dubbo-3.2.16.jar:3.2.16] at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[?:1.8.0_341] at org.apache.dubbo.registry.integration.ExporterFactory.createExporter(ExporterFactory.java:29) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.registry.integration.RegistryProtocol.doLocalExport(RegistryProtocol.java:328) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:263) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.qos.protocol.QosProtocolWrapper.export(QosProtocolWrapper.java:79) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.export(ProtocolSecurityWrapper.java:84) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:66) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:58) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.export(ProtocolSerializationWrapper.java:50) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.export(InvokerCountWrapper.java:42) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.doExportUrl(ServiceConfig.java:947) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.exportRemote(ServiceConfig.java:917) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.exportUrl(ServiceConfig.java:857) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:602) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:583) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:540) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:340) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.exportServiceInternal(DefaultModuleDeployer.java:477) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.exportServices(DefaultModuleDeployer.java:424) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:174) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:156) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:157) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:143) ~[dubbo-3.2.16.jar:3.2.16] at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:52) ~[dubbo-3.2.16.jar:3.2.16] at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:145) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:430) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:952) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:594) ~[spring-context-5.3.39.jar:5.3.39] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:399) ~[spring-web-5.3.39.jar:5.3.39] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:278) [spring-web-5.3.39.jar:5.3.39] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.3.39.jar:5.3.39]

Anything else

No response

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

Guide contributeur