package com.aswatson.csc.member.conf;

import com.aswatson.csc.member.service.MemberCardService;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.apache.dubbo.config.ConfigCenterConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component; /**
* @Author Tim
* @Date 2021/11/5 14:22
*/
@Component
public class DubboConfig { //可以动态配置memberCardService
public DubboConfig(@Autowired ApplicationContext applicationContext, @Value("${dubbo.registry.protocol}") String protocol, @Value("${dubbo.registry.address}") String address)
throws ClassNotFoundException { Object serviceObj = applicationContext.getBean("memberCardService");
Class clazz = Class.forName("com.aswatson.csc.member.service.MemberCardService"); RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress(protocol + "://" + address);
ServiceConfig service = new ServiceConfig();
service.setApplication(ApplicationModel.getConfigManager().getApplicationOrElseThrow());
service.setRegistry(registryConfig);
service.setInterface(clazz);
service.setRef(serviceObj);
service.setVersion("1.0");
service.export();
} //测试写死memberCardService
// public DubboConfig(@Autowired ApplicationContext applicationContext, @Value("${dubbo.registry.protocol}") String protocol, @Value("${dubbo.registry.address}") String address) {
// RegistryConfig registryConfig1 = new RegistryConfig();
// registryConfig1.setAddress(protocol + "://" + address);
// ServiceConfig<MemberCardService> service = new ServiceConfig<MemberCardService>();
// service.setApplication(ApplicationModel.getConfigManager().getApplicationOrElseThrow());
// service.setRegistry(registryConfig1);
// service.setInterface(MemberCardService.class);
// service.setRef((MemberCardService) applicationContext.getBean("memberCardService"));
// service.setVersion("1.0");
// service.export();
// } }

以API 配置的方式来配置你的 Dubbo 应用的更多相关文章

  1. Java Filter过滤器(拦截路径的配置+拦截方式的配置+生命周期+多个过滤器的先后执行顺序)

    Java Filter过滤器+Listen监听器 啥是过滤器 顾名思义即过滤掉一些东西,比如我们经历的高考中考都是过滤器,他过滤掉一些在学习这一方面不是很好的人,而那些成绩好的人则升入高中,大学. 但 ...

  2. STM8S---IO复用配置(STVP方式)

    1 说明 STM8S的IO复用用程序代码配置起来比較麻烦.通常是操作flash来操作option byte字节.配置寄存器更加麻烦,能够使用STM 标准外设驱动库来设置. 本文使用一种界面配置的方式来 ...

  3. Web API 实现JSONP或者安装配置Cors跨域

    前言 照理来说本节也应该讲Web API原理,目前已经探讨完了比较底层的Web API消息处理管道以及Web Host寄宿管道,接下来应该要触及控制器.Action方法,以及过滤器.模型绑定等等,想想 ...

  4. 离线环境下使用二进制方式安装配置Kubernetes集群

    本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...

  5. servlet 3 通过编程的方式来配置ServletContext

    你是否再为配置文件web.xml容易出错而烦恼?是否为web.xml文件存放位置而不知所措?是否为web.xml为什么要这样配?怎么才能更好的配置web.xml而烦恼?那么一种新的方式出现了: spr ...

  6. spring 事务管理方式及配置

    1.Spring声明式事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之前对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的 ...

  7. 通过配置的方式Autofac 《第三篇》

    一.基本配置 1.通过配置的方式使用Autofac <?xml version="1.0"?> <configuration> <configSect ...

  8. 关于SpringAOP的XML方式的配置

    AOP(XML)[理解][应用][重点] 1.AOP基础实例 A.导入jar包 核心包(4个)         日志(2个)             AOP(4个) Spring进行AOP开发(1个) ...

  9. Spring声明式事务(xml配置事务方式)

    Spring声明式事务(xml配置事务方式) >>>>>>>>>>>>>>>>>>>& ...

  10. Oracle BEQ方式连接配置

    Oracle BEQ方式连接配置 服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高. 可以参考MOS:How To Connect Us ...

随机推荐

  1. JAVAweek7

    本周学习[函数][数组] 什么是函数: 函数就是定义在类中的具有特定功能的一段独立小程序.函数也称为方法. 函数的格式: ·修饰符 返回值类型 函数名(参数类型 形式参数) { 执行语句: retur ...

  2. C语言数组实现扫雷

    C语言数组->实现扫雷 包含头文件 #include <stdio.h> #include <stdlib.h> //用于生成随机数 #include <time. ...

  3. [ABC274F] Fishing

    Problem Statement On a number line, there are $N$ fish swimming. Fish $i$, which has a weight of $W_ ...

  4. 技术Leader:像李云龙一样打造学习型团队

    今天跟大家分享一下怎么样构建一个学习型的团队. 首先对于计算机行业而言,不明而喻,我们要接受的东西真的太多了.我们接触的信息和变化也太多了.如果只是因循守旧,排斥新东西,那么我们被时代淘汰只是个时间问 ...

  5. 2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i>1的

    2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i> ...

  6. SpringBoot启动@Test单元测试时,一致卡在加载junit-bom-5.6.3.pom.xml文件

    今天做项目时创建一个SpringBoot工程,使用的版本是<spring-boot.version>2.3.7.RELEASE</spring-boot.version> 当我 ...

  7. LeetCode132:分割回文串(DP、回文)

    解题思路:有两个问点:1.如何快速当前字符串哪些的字串是回文:2.如何组合这些字串达到分割次数最少 针对问点1,可以开辟一个二维布尔数组 a[][],a[i][j]表示以索引i为起点,j为结束位置的字 ...

  8. NLP复习之朴素贝叶斯

    朴素贝叶斯分类器和加一平滑计算每个单词的似然值 贝叶斯规则:c表示类别,d表示数据 \[P(c|d) = \frac{P(d|c)P(c)}{P(d)} \] 例题1 假设句子"I alwa ...

  9. JDK1.8下载 用阿里云盘

    JDK1.8下载 用阿里云盘 jdk-8u202-windows-x64.exe https://www.aliyundrive.com/s/jJhWUk17jMt 点击链接保存,或者复制本段内容,打 ...

  10. JMeter变量和调试取样器

    变量 可以在测试计划中定义变量 可以通过${变量名}进行调用 调试取样器可以看到变量参数