You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Dubbo java 3.2.10~3.2.14, OpenJdk 17, Spring Boot 2.7.6, mac
Steps to reproduce this issue
diagrammatic sketch
explain: java process C ,use Dubbo 2.7, log-facade declaration interface, log-service implements log-facade, log-service declare @DubboService. log-client new a class with @component\ spring boot auto-configure, use @DubboReference to quote log-facade,and add some function. java process B quote log-facade by maven. java process A , use Dubbo 3.2.10, quote log-facade by maven.
2. simple code
`
// 2.1 log-facade
public interface OperateLogFacade {
} 3. java Process A , exception log
2024-07-16 21:33:13.221 [0f8d820e60bc4133864c2ffe93035f5a] [main] ERROR o.a.d.r.c.ServiceDiscoveryRegistryDirectory:? - [DUBBO] Failed to refer invoker for interface:interface com.sd.sso.facade.api.SsoAccountFacade,url:(DefaultServiceInstance{serviceName='sd-sso-server', host='10.244.45.71', port=6082, enabled=true, healthy=true, metadata={dubbo.metadata-service.urls=[ "dubbo://10.244.45.71:20905/com.alibaba.cloud.dubbo.service.DubboMetadataService?anyhost=true&application=sd-sso-server&bind.ip=10.244.45.71&bind.port=20905&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=sd-sso-server&interface=com.alibaba.cloud.dubbo.service.DubboMetadataService&metadata-type=remote&methods=getAllServiceKeys,getServiceRestMetadata,getExportedURLs,getAllExportedURLs&pid=1&qos.enable=false&release=2.7.13&revision=2.2.7.RELEASE&service.name=ServiceBean:sd-sso-server/com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0&side=provider&timeout=3000×tamp=1721134954977&version=1.0.0" ], dubbo.metadata.revision=0480A7128A4CA18A866438EA0057DE4E, dubbo.protocols.dubbo.port=20905, preserved.register.source=SPRING_CLOUD}}, service{name='com.sd.sso.facade.api.SsoAccountFacade',group='betaA',version='null',protocol='null',port='6082',params={},})service is: interface com.sd.sso.facade.api.SsoAccountFacade, only support [jax-rs, spring-webmvc] annotation, dubbo version: 3.2.14, current host: 192.168.28.252, error code: 4-3. This may be caused by , go to https://dubbo.apache.org/faq/4/3 to find instructions.
org.apache.dubbo.rpc.protocol.rest.exception.CodeStyleNotSupportException: service is: interface com.sd.sso.facade.api.SsoAccountFacade, only support [jax-rs, spring-webmvc] annotation
at org.apache.dubbo.rpc.protocol.rest.annotation.metadata.MetadataResolver.resolveConsumerServiceMetadata(MetadataResolver.java:54)
at org.apache.dubbo.rpc.protocol.rest.RestProtocol.protocolBindingRefer(RestProtocol.java:134)
at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:137)
at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:112)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:86)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:85)
at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:75)
at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:55)
at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:50)
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.toInvokers(ServiceDiscoveryRegistryDirectory.java:490)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshInvoker(ServiceDiscoveryRegistryDirectory.java:356)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshOverrideAndInvoker(ServiceDiscoveryRegistryDirectory.java:219)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.notify(ServiceDiscoveryRegistryDirectory.java:211)
at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.addListenerAndNotify(ServiceInstancesChangedListener.java:269)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:362)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:243)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:194)
at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:87)
at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:186)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:151)
at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:639)
at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:66)
at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:458)
at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:256)
at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:78)
at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:62)
at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:285)
at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:602)
at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:566)
at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:547)
at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:112)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:83)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:85)
at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:72)
at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:55)
at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:48)
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at org.apache.dubbo.config.ReferenceConfig.createInvoker(ReferenceConfig.java:656)
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:486)
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:370)
at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:238)
at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:140)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:545)
at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4780)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:517)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:183)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:156)
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:157)
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:143)
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:52)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at com.sd.strategy.web.WebApplication.main(WebApplication.java:29)
`
What you expected to happen
I expected no exception happen. If I upgrade dubbo 3.2.10 to 3.3.0-beta.4 , java process A would had no exception log.
Anything else
We do not want upgrade dubbo to beta.4 , is there any solution?
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!
Sorry, this is a new feature in version 3.3, which is not directly supported in version 3.2 at this time.By the way, the official version 3.3 is expected to be released by the end of this month @xgj2440620200
Pre-check
Search before asking
Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
Dubbo java 3.2.10~3.2.14, OpenJdk 17, Spring Boot 2.7.6, mac
Steps to reproduce this issue
explain: java process C ,use Dubbo 2.7, log-facade declaration interface, log-service implements log-facade, log-service declare @DubboService. log-client new a class with @component\ spring boot auto-configure, use @DubboReference to quote log-facade,and add some function. java process B quote log-facade by maven. java process A , use Dubbo 3.2.10, quote log-facade by maven.
2. simple code
`
// 2.1 log-facade
public interface OperateLogFacade {
}
// 2.2 dubbo log-service
@slf4j
@DubboService
public class OperateLogFacadeImpl implements OperateLogFacade {
}
// 2.3 log-client, proxy
@slf4j(topic = "billLog")
@component
public class BillLogServer {
// @Autowired
private BillLogFacade billLogFacade;
}
// 2.4 log-client,spring boot auto-configure
@order(2)
@slf4j
@configuration
@ConditionalOnWebApplication
@ConditionalOnProperty(value = "gaia.log.enable", matchIfMissing = true)
@EnableLogRecord
public class LogAutoConfiguration implements EnvironmentAware {
}
//2.5 consumer, java process A
@slf4j
@service
public class SsoAccountBiz {
}
3. java Process A , exception log
2024-07-16 21:33:13.221 [0f8d820e60bc4133864c2ffe93035f5a] [main] ERROR o.a.d.r.c.ServiceDiscoveryRegistryDirectory:? - [DUBBO] Failed to refer invoker for interface:interface com.sd.sso.facade.api.SsoAccountFacade,url:(DefaultServiceInstance{serviceName='sd-sso-server', host='10.244.45.71', port=6082, enabled=true, healthy=true, metadata={dubbo.metadata-service.urls=[ "dubbo://10.244.45.71:20905/com.alibaba.cloud.dubbo.service.DubboMetadataService?anyhost=true&application=sd-sso-server&bind.ip=10.244.45.71&bind.port=20905&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=sd-sso-server&interface=com.alibaba.cloud.dubbo.service.DubboMetadataService&metadata-type=remote&methods=getAllServiceKeys,getServiceRestMetadata,getExportedURLs,getAllExportedURLs&pid=1&qos.enable=false&release=2.7.13&revision=2.2.7.RELEASE&service.name=ServiceBean:sd-sso-server/com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0&side=provider&timeout=3000×tamp=1721134954977&version=1.0.0" ], dubbo.metadata.revision=0480A7128A4CA18A866438EA0057DE4E, dubbo.protocols.dubbo.port=20905, preserved.register.source=SPRING_CLOUD}}, service{name='com.sd.sso.facade.api.SsoAccountFacade',group='betaA',version='null',protocol='null',port='6082',params={},})service is: interface com.sd.sso.facade.api.SsoAccountFacade, only support [jax-rs, spring-webmvc] annotation, dubbo version: 3.2.14, current host: 192.168.28.252, error code: 4-3. This may be caused by , go to https://dubbo.apache.org/faq/4/3 to find instructions.
org.apache.dubbo.rpc.protocol.rest.exception.CodeStyleNotSupportException: service is: interface com.sd.sso.facade.api.SsoAccountFacade, only support [jax-rs, spring-webmvc] annotation
at org.apache.dubbo.rpc.protocol.rest.annotation.metadata.MetadataResolver.resolveConsumerServiceMetadata(MetadataResolver.java:54)
at org.apache.dubbo.rpc.protocol.rest.RestProtocol.protocolBindingRefer(RestProtocol.java:134)
at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:137)
at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:112)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:86)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:85)
at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:75)
at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:55)
at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:50)
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.toInvokers(ServiceDiscoveryRegistryDirectory.java:490)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshInvoker(ServiceDiscoveryRegistryDirectory.java:356)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshOverrideAndInvoker(ServiceDiscoveryRegistryDirectory.java:219)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.notify(ServiceDiscoveryRegistryDirectory.java:211)
at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.addListenerAndNotify(ServiceInstancesChangedListener.java:269)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:362)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:243)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:194)
at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:87)
at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:186)
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:151)
at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:639)
at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:66)
at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:458)
at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:256)
at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:78)
at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:62)
at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:285)
at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:602)
at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:566)
at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:547)
at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:112)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:83)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:85)
at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:72)
at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:55)
at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:48)
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at org.apache.dubbo.config.ReferenceConfig.createInvoker(ReferenceConfig.java:656)
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:486)
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:370)
at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:238)
at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:140)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:545)
at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4780)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:517)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:183)
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:156)
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:157)
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:143)
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:52)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at com.sd.strategy.web.WebApplication.main(WebApplication.java:29)
`
What you expected to happen
I expected no exception happen. If I upgrade dubbo 3.2.10 to 3.3.0-beta.4 , java process A would had no exception log.
Anything else
We do not want upgrade dubbo to beta.4 , is there any solution?
Are you willing to submit a pull request to fix on your own?
Code of Conduct
The text was updated successfully, but these errors were encountered: