2011-12-07 13 views
7

Usando Felix/Equinox, ¿qué hacen los siguientes debajo del capó?¿Qué hacen realmente estos comandos OSGi?

osgi:install 
osgi:refresh 
osgi:resolve 
osgi:restart 
osgi:update 

¿Hay algún diagrama de máquina de estado o documentación más concisa en alguna parte?

Respuesta

16

La mejor documentación para esto es OSGi Core Specification. La sección y los números de página a continuación se refieren a la versión 4.3 (abril de 2011) de la especificación.

osgi:install significa instalar un paquete de un archivo o secuencia, y se asigna al método BundleContext.installBundle en la API. Consulte la sección 4.4.3 en la página 90.

osgi:refresh realiza una operación de "actualización de paquetes", que permite que las exportaciones/importaciones se vuelvan a cablear después de instalar o actualizar un conjunto de paquetes. Por ejemplo, los paquetes que están actualmente conectados a un exportador particular de un paquete pueden 0 reconectarse a un paquete recién instalado que exporte el mismo paquete. Consulte la sección 7.6.1, página 148.

osgi:resolve es similar a la actualización, pero solo conecta los paquetes que están actualmente en el estado INSTALACIÓN. Es decir. será no reconecte los cables existentes que pertenecen a los paquetes que ya están en el estado RESUELTO.

osgi:restart detiene y reinicia un paquete específico. Esto no hace que la implementación del paquete se actualice, simplemente se detiene y comienza. Consulte la sección 4.4.5 en la página 91 y 4.4.7 en la página 95.

osgi:update solicitudes para actualizar un solo paquete (es decir, volver a cargar desde su ubicación original). Esto puede implicar detener, volver a resolver e iniciar el paquete, dependiendo de en qué estado estaba antes de la actualización. Véase la sección 4.4.9 página 95.

El diagrama de estado para todos los estados de OSGi de paquete está en la sección 4.4.2 (Figura 4.4) página 90.

Cuestiones relacionadas