Dubbo服务之间的调用
在服务提供方的Dubbo配置类DubboConfiguration中添加对应的Bean属性:@Configuration
@ConditionalOnClass(Exporter.class)
public class DubboConfiguration {private static volatile Integer dubboPort;private static volatile String protocol;static {SpringBootYmlLoader syl = SpringBootYmlFactory.getInstance().init();dubboPort = syl.getIntegerValue("spring.dubbo.protocol.port");protocol = syl.getStringValue("spring.dubbo.protocol.name");}public static synchronized Integer getPortIncrement(String server) {Integer current = dubboPort;++dubboPort;ServerPortStatistic.register(server, current);return current;}@Bean(name = "ConfigurationServiceDubImplProviderConfig")public ProviderConfig getConfigurationServiceDubImplProviderConfig(ApplicationConfig applicationConfig, RegistryConfig registryConfig) {ProtocolConfig protocolConfig = DubboUtils.getProtocolConfig(protocol, getPortIncrement("ConfigurationService"));return DubboUtils.getProviderConfig(applicationConfig, registryConfig, protocolConfig);}@Bean(name = "OrganizationUserServiceDubImplProviderConfig")public ProviderConfig getOrganizationUserServiceDubImplProviderConfig(ApplicationConfig applicationConfig, RegistryConfig registryConfig) {ProtocolConfig protocolConfig = DubboUtils.getProtocolConfig(protocol, getPortIncrement("OrganizationUserService"));return DubboUtils.getProviderConfig(applicationConfig, registryConfig, protocolConfig);}public Integer getDubboPort() {return dubboPort;}public void setDubboPort(Integer dubboPort) {this.dubboPort = dubboPort;}
}
在服务提供方编写接口及实现类:
public interface OrganizationUserServiceDub {TOrganizationUser getOrgIdByToken(String token);
}
@Service(version = "0.0.1", interfaceClass = OrganizationUserServiceDub.class, timeout = 100000, provider = "OrganizationUserServiceDubImplProviderConfig")
public class OrganizationUserServiceDubboImpl implements OrganizationUserServiceDub {@Autowiredprivate OrganizationUserService organizationUserService;@Overridepublic TOrganizationUser getOrgIdByToken(String token) {return organizationUserService.getOrgIdByToken(token);}
}
在服务的调用方通过@Reference注解引入:
@Reference(version = "0.0.1" , check = false) private NotificationServiceDub notificationServiceDub;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
