`
knight_black_bob
  • 浏览: 857823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

动态加载 dubbo spring

阅读更多

动态加载 dubbo spring

 

1.首先删除 配置文件中 dubboservice ,以及 项目中引用 service,然后 删除entity 中user,以及service 中userservice

<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<!-- <dubbo:reference id="userService"  interface="com.curiousby.cn.service.UserService" /> -->

 



 

 

 

2. usercontroller中修改代码

  
    @RequestMapping(value="/auto/{userId}", method=RequestMethod.GET)
    public Object  getUserById2(@PathVariable int userId) throws  Exception {
    	 String url = "dubbo://localhost:20880/com.curiousby.cn.service.UserService";//更改不同的Dubbo服务暴露的ip地址&端口  
    	 //dubbo%3A%2F%2F10.133.254.143%3A20880%2Fcom.curiousby.cn.service.UserService%3Fanyhost%3Dtrue%26application%3Ddubbox-productor%26dubbo%3D2.5.3%26interface%3Dcom.curiousby.cn.service.UserService%26methods%3DfindById%26pid%3D14284%26side%3Dprovider%26timestamp%3D1517473747502
    	 
    	 ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();  
    	 URL  classesurl = new URL( "file:///D:/cache/eclipse4mvn-workplace/SpringBootDubboxDemo-Consumer/target/classes/com/curiousby/cn/" );  
    	 ClassLoader custom = new URLClassLoader( new URL[] { classesurl }, systemClassLoader ); 
    	 
    	 //Class  myClazz =   Class.forName("com.curiousby.cn.service.UserService");
    	 Class myClazz = custom.loadClass("com.curiousby.cn.service.UserService"); 
    	   
    	 List classList = new ArrayList();
    	 List valList = new ArrayList();
    	 classList.add(Class.forName("java.lang.Integer"));
    	 valList.add(userId);
    	 
    	 ReferenceBean referenceBean = new ReferenceBean();  
         referenceBean.setApplicationContext(applicationContext);  
         referenceBean.setInterface(myClazz);  
         referenceBean.setUrl(url);  
   
         try {  
             referenceBean.afterPropertiesSet();  
             Object object = referenceBean.get(); 
              
             Method  methodService = myClazz.getMethod("findById", (Class[])classList.toArray(new Class[0]));
             return methodService.invoke(object, valList.toArray());
         } catch (Exception e) {  
             e.printStackTrace();  
         }
		return null;  
    }

 

 

3.上传 class 文件到指定位置



 



 

 

 

这样就可以按照配置,自动上传 class 并解析 消费服务了



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者 

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

 

个人主页http://knight-black-bob.iteye.com/



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

 

  • 大小: 35.8 KB
  • 大小: 88.2 KB
  • 大小: 17.1 KB
  • 大小: 57.9 KB
0
2
分享到:
评论

相关推荐

    Dubbo Spring Boot 工程

    5. **Spring Boot的自动配置原理**:Spring Boot通过`@EnableDubbo`注解开启Dubbo的自动配置,加载对应的配置并创建Bean。这使得在Spring Boot环境中可以像使用其他Spring Bean一样使用Dubbo服务。 6. **测试与运行...

    【42】使用dubbo、spring-boot等技术实现互联网后台服务项目架构视频教程 .txt

    ### 使用Dubbo、Spring Boot等技术实现互联网后台服务项目架构 #### 一、引言 在当前快速发展的互联网行业中,微服务架构已经成为构建复杂系统的一种主流方式。微服务架构能够帮助开发团队更好地组织代码,提高...

    dubbo+Spring+SpringMVC实例,spring配置文件启动

    使用spring配置文件配置dubbo服务,ioc注入。不是其他入门实例的api启动。 每一步可能犯的错误都在下面的地址里有详细描述 详细介绍参见blog http://blog.csdn.net/fangxiaoji/article/details/41845955

    dubbo整合spring

    在IT行业中,Dubbo是一个...总的来说,"dubbo整合spring"项目展示了如何利用Spring的IOC和AOP特性,结合Dubbo的RPC能力,构建可扩展、高可用的服务架构。理解和掌握这一整合过程,对于提升企业级应用开发能力至关重要。

    spring-dubbo-spring-boot.rar_java编程_spring_spring boot_threwwab_

    1. 添加依赖:首先,在Spring Boot项目的pom.xml中添加Spring Dubbo的相关依赖,包括dubbo-spring-boot-starter、dubbo-spring-boot-autoconfigure等。 2. 配置服务提供者:定义服务接口,并在服务提供者的配置类中...

    spring集成Dubbo服务demo

    1. **配置Maven依赖**:在项目的pom.xml文件中添加Dubbo和Spring的相关依赖,确保项目可以正常导入所需库。 2. **定义服务接口**:创建一个服务接口,这是Dubbo服务的基础。这个接口会包含服务的业务方法,供服务...

    dubbo-spring-demo

    5. **启动和测试**:项目可能会提供一个主启动类,如`com.example.DemoApplication`,用于启动Spring Boot应用,并加载Dubbo配置。此外,还可能包含测试用例来验证服务的正常工作。 6. **服务调用**:在示例中,...

    Spring Boot集成dubbo+zookeeper

    在Spring Boot项目中引入Dubbo的支持,我们需要在`pom.xml`文件中添加相应的依赖,如`spring-boot-starter-dubbo`和`dubbo-spring-boot-starter`。同时,为了使用Zookeeper作为注册中心,还需要添加`zookeeper`的...

    从Dubbo启动看Dubbo和Spring的关系1

    总的来说,Dubbo和Spring的关系体现在Spring作为基础框架,提供了加载和管理配置的能力,而Dubbo利用Spring的这些能力,通过`BeanFactoryPostProcessor`等机制,在Spring环境中注入自己的服务治理逻辑。这种组合使得...

    spring boot 集成 dubbo consumer provider 例子

    确保添加 `spring-boot-starter-web` 和 `spring-boot-devtools` 依赖,它们是 Spring Boot 应用的基础。 2. **添加 Dubbo 依赖** 在项目的 `pom.xml` 或 `build.gradle` 文件中,添加 Dubbo 的依赖。Dubbo 提供了...

    Dubbo+Zookeeper+Spring整合,一个简单的Demo源码

    Spring的ApplicationContext加载这些配置后,会自动完成服务的暴露和引用。 【四】Demo源码解析 1. **服务提供者**: - 首先,我们需要定义一个服务接口,并在实现类中添加`@Service`注解,指定接口、版本和实现...

    dubbo-spring-boot-autoconfigure-2.7.8.zip

    `dubbo-spring-boot-autoconfigure-2.7.8-sources.jar`提供了模块的源代码,开发者可以通过阅读源码深入了解自动配置的实现细节,包括如何加载配置、如何创建Bean以及如何将Dubbo的配置项映射到Spring Boot的配置...

    dubbo+maven+spring

    此外,Spring与Dubbo的集成通常会使用Spring的ApplicationContext来加载Dubbo的配置,从而实现服务的自动装配。 压缩包中的"TestDubbo"可能是一个测试目录或者一个测试项目,里面可能包含了项目的源代码、配置文件...

    dubbo-spring-boot-project:Apache Dubbo的Spring Boot项目

    Apache Dubbo Spring Boot项目 Spring Boot Project使使用Dubbo...您可以通过向pom.xml中添加以下依赖项,将最新的dubbo-spring-boot-starter引入项目中。 &lt; spring&gt;2.3.0.RELEASE&lt;/ spring&gt; &lt; dubbo&gt;2.7.8&lt;/ d

    Spring Boot Dubbo 整合

    在Spring Boot的`pom.xml`文件中,我们需要添加Dubbo的Spring Boot Starter依赖,以及可能需要的其他服务治理工具的依赖,例如Zookeeper。 ```xml &lt;groupId&gt;com.alibaba.boot&lt;/groupId&gt; &lt;artifactId&gt;dubbo-...

    dubbo,spring,maven

    在`pom.xml`文件中,你需要添加Dubbo和Spring相关的依赖,例如`dubbo-spring-boot-starter`、`spring-context`等。 3. **配置Dubbo**:在项目中创建`application.properties`或`application.yml`文件,配置Dubbo的...

    dubbo-spring-boot-starter-2.7.8.zip

    1. **添加依赖**:在项目的Maven或Gradle配置文件中,引入dubbo-spring-boot-starter的相关依赖,确保项目能够识别并加载这个启动器。 2. **配置服务**:通过Spring Boot的配置文件(如application.properties或...

    spring boot dubbo 集成 脚手架

    Spring Boot和Dubbo是两个非常重要的Java开发框架,Spring Boot简化了Spring应用的初始化和配置,而Dubbo则是一个高性能、轻量级的服务治理框架。本文将深入探讨如何在Spring Boot项目中集成Dubbo,创建一个高效的...

    spring dubbo maven 整合demo

    3. 引入依赖:在pom.xml文件中添加Spring、Dubbo和相关依赖。 4. 配置服务提供者:编写服务接口和实现类,创建dubbo的配置文件(如dubbo-provider.xml),配置服务暴露的信息,如接口名、版本、协议等。 5. 配置服务...

    springboot+quartz集群:通过动态配置调度dubbo接口/http接口代码实现

    要实现动态配置,我们需要一个用户界面或者API接口,允许管理员添加、修改或删除任务。这些任务的配置信息(如执行间隔、目标Dubbo或HTTP接口等)将被保存到数据库中。在SpringBoot应用启动时,或者当配置更新时,...

Global site tag (gtag.js) - Google Analytics