`
498320858
  • 浏览: 393036 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

项目运行期间热插拔接口实现类

    博客分类:
  • java
 
阅读更多

需求来源:

 

在一个移动广告平台中,需要在广告平台运行期间接入app广告主;广告主要求app的推广效果的流程为,广告平台中发现有用户下载app时候,广告平台需要将此下载数据上报给广告主服务器;app安装激活时广告服务器会将此安装数据和下载数据对比,如果广告平台有上报此app的下载的话则视为此app的激活时广告平台的推广效果

 

但是问题在于一个广告平台需要对接多个广告主,而每个广告主对上报的接口定义都不相同,所以广告平台无法对上报下载数据这个过程做统一处理,只能为每个广告主写一个上报模块,但是这个模块如何接入正在运行的项目呢?这里我期望能有一个支持热插拔的模块实现在不停机的情况下增加不同的上报模块(增加广告主的接入代码)。

 

解决思路:

 

1.编写一个类加载器以及一个上报接口

2.依据一个参数值让类加载器去加载指定文件位置的上报接口的实现类,并实例化为上报对象(可加优化,如将此对象缓存,避免创建重复对象)

3.上报对象执行上报方法

 

 

具体实现(demo见附件):

1.在项目1中实现思路中的1,接口以及类加载器

2.运行1(DynamicClassLoader中的main)

3.将项目1中的接口拷贝至项目2中,并实现接口,并编译得到class文件

4.将此class文件拷贝到正在运行的项目1的运行目录(按照项目路径完整的放置)中

5.项目1类加载器传入类的文件路径以及class名称

6.类加载器实例化新加入的类,并强制类型转换为接口对应的对象

7.对象执行接口中定义的方法

 

 

分享到:
评论

相关推荐

    STM32单片机FPGA毕设电路原理论文报告基于USB接口的51单片机与PC机通信的方法

    它支持热插拔和即插即用,并且提供了高速数据传输的能力。 #### 2. 51单片机与PC机的USB通信 - **硬件准备**:通常需要一个USB转串口芯片作为桥梁,将51单片机的串行通信信号转换为USB信号。 - **驱动程序**:需要...

    java反射机制.pdf

    - **热插拔**:在某些服务器端应用中,利用反射机制动态加载类和接口,实现模块的热插拔。 - **代码生成**:在一些代码生成工具中,利用反射机制动态生成类和方法。 #### 九、总结 Java反射机制是Java语言的重要...

    论文研究-Java软件的一种动态设计方法 .pdf

    而OSGI(OpenServiceGatewayInitiative)提出了一个插件体系结构的标准,这使得软件的热插拔技术得以实现。然而,它要求开发者学习新的模块开发与设计方式,且在设计阶段对模块分解的难度较大。 论文还详细介绍了...

    am-07-DPDK-hotplug-20180905.pdf

    本文档标题为“am-07-DPDK-hotplug-***.pdf”,其内容主要围绕DPDK中的热插拔(hotplug)技术进行了讨论。 1. DPDK资源分配:文档指出了DPDK中的资源分配情况,其中CPU资源仍然是静态分配,内存资源从DPDK 18.05...

    JAVA核心知识整理.pdf

    - **模块化编程与热插拔**:支持模块化编程,使得软件可以像硬件一样热插拔。 #### JAVA集合 - **接口继承关系和实现**:Java集合框架提供了一组标准接口,如Collection、Set、List、Map等,这些接口定义了集合的...

    JAVA核心知识点整理.pdf

    OSGI(动态模型系统)则允许模块化编程和热插拔功能,支持在运行时动态构建环境。 ### JAVA集合 JAVA集合框架主要包括List、Set和Map三个接口,分别用于存储顺序列表、无序集合和键值对映射表。List接口的实现类有...

    基于ARM和Android系统的伺服远程数据采集和故障诊断系统.pdf

    基于ARM的USB通讯接口可以实现高数据传输速率,支持热拔插功能,方便用户操作。在本系统中,USB接口的设计利用了CDC类通讯的批量传输模式,即Bulk Transfer模式,有效地提升了数据采集的效率。CDC类通讯允许以一定...

    usb转串口驱动

    USB(Universal Serial Bus)则是一种通用接口,可连接各种设备,提供电源,并支持热插拔,方便用户随时添加或移除设备。 USB转串口驱动的工作原理是模拟传统的COM端口,使得软件认为连接的是一个标准的串口,即使...

    USB_SPEC11.rar

    8. **热插拔与即插即用**:USB 1.1支持设备在系统运行时插入和移除,无需重启电脑。同时,设备可以在插入后立即被操作系统识别和使用,实现了即插即用的特性。 9. **集线器功能**:USB集线器允许扩展USB接口,将一...

    JAVA知识点.pdf

    - **模块化编程与热插拔**:支持模块化编程,可以热插拔模块而无需重启整个应用。 #### JAVA集合 - **接口继承关系和实现**:Java集合框架主要包括Collection接口、Map接口及其各种实现类。 - **LIST**:一种有序...

    Attention-JAVA核心面试知识整理.pdf

    - **模块化编程与热插拔**: 提供了一种模块化的编程模型,支持热插拔功能,可以在不重启系统的情况下更换和更新模块。 #### 五、JAVA集合 - **接口继承关系和实现**: - `Collection`: 是集合框架的根接口,主要有...

    JAVA核心面试知识整理

    OSGI是一种模块化编程的概念,允许动态加载和卸载模块,实现热插拔。 3. JAVA集合 Java集合框架为表示和操作集合数据提供了一套设计良好的支持接口和类。 3.1 接口继承关系和实现 Java集合框架中的接口包括...

    机房系统资源集中控管系统解决方案.docx

    - **高可用性**:支持热插拔功能,减少系统维护期间的停机时间。 - **高级安全功能**:内置加密技术和访问控制机制,保护数据安全。 - **易于管理**:提供直观的Web界面和命令行接口,简化日常管理和配置任务。 ###...

    java面试全解.pdf

    - **OSGi**:Open Service Gateway Initiative,一种模块化框架,支持动态部署和卸载模块,实现组件的热插拔。 #### 五、Java集合框架 - **接口继承关系和实现**:主要包括Collection、Set、List、Map等接口以及...

    美团系统交易面试资料整理

    - **模块化编程与热插拔**:支持模块化的编程模型,并且能够在不停止系统的情况下添加、删除或更新模块。 #### Java集合 - **接口继承关系**:`Collection`接口是最顶层接口,包含`List`、`Set`、`Queue`等子接口...

    JAVA核心知识点整理(有效)

    2.3. JVM 运行时内存 ................................................................................................................................. 24 2.3.1. 新生代 ....................................

Global site tag (gtag.js) - Google Analytics