He leído que OSGI utiliza cargadores de clases separados por módulo que permite a los módulos usar diferentes versiones de sus dependencias ... mientras que al mismo tiempo ejecuta todos los módulos en la misma JVM.¿Cómo usar cargadores de clases separados y ejecutar en la misma JVM? (OSGI)
¿Cómo funciona esto? Si el módulo A utiliza la versión n. ° 1 de una dependencia y el módulo B utiliza la versión n. ° 2, ¿no tendrá problemas si el módulo A pasa una instancia de la clase de dependencia al módulo B como parámetro de método?
Creo que el módulo B se ahogaría si estuviera esperando una interfaz diferente a la clase de dependencia.