Code Monkey home page Code Monkey logo

Comments (3)

shifujun avatar shifujun commented on June 4, 2024

不管是loader还是什么部分,它能动态化完全是基于classloader查找类的原理实现的。不同classloader加载的同名类压根就不是一个类。宿主和插件或者loader等都是不同classloader加载的,它们各自打包了什么类根本不相关。让它们协作起来就是设计好跨classloader查找类的方案,典型的例子就是双亲委派机制。

多个loader之类的问题有很多种解决方案。如果多个插件的loader总是同一份代码,那它们似乎就是同一个uuid发布的一套插件,只是partkey不同。uuid主要是标识各部分是同一个版本,可以协同工作。如果是不同版本或业务总是复用同一个part,那可以在下载和打包层面复用文件,为相同文件分配新的uuid就可以了。插件管理这块和业务相关性比较大,自己完全重新实现也是可以的,不会和shadow的主要代码有什么冲突。我其实想把manager删掉,引入一个开源的管理库来代替这块功能。但没找到合适的。

from shadow.

budaowengd avatar budaowengd commented on June 4, 2024

感谢指教,明白了您说的了,谢谢。

from shadow.

SunShineMy66 avatar SunShineMy66 commented on June 4, 2024

你们是每个插件.apk、Loader.apk、Runtime.apk都放到zip包里吗?感觉维护起来很麻烦,每次都要打3个apk。

我想把把Loader 和 Runtime 直接集成到Host里面。 如果zip包里没有Loader.apk就默认使用Host的,如果有,则使用zip包里的,不知这种方案是否可行呢?

from shadow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.