Cuando se actualiza un paquete (por ejemplo, para corregir un error), ¿qué sucede con otros paquetes que están utilizando actualmente el que se está actualizando?¿Cómo funciona la actualización del paquete OSGi?
Diga que hay dos paquetes de servicio y dao. Supongamos que las clases en el paquete de servicios utilizan clases en paquete dao cuando emite el comando para actualizar la capa de dao. ¿La clase en la capa de servicio que usa el código dao obtiene una excepción?
Gracias por su response.
Quería decir actualizado con la misma versión.
hasta que se produce una renovación del paquete que incluye el paquete dependiente.
La operación de actualización del paquete es invocada por el usuario actualizando el paquete, ¿verdad? Digamos que cuando el usuario invoca refresh para actualizar dao bundle, una clase en bundle service invoca un método en una clase en la capa dao ... ¿qué sucede en este escenario?
me encontré con este post del blog útil: http://solutionsfit.com/blog/2008/08/27/osgi-what-modularity-can-do-for-you-part-1/
Desde el puesto de:
Si simplemente sustituimos el paquete con un paquete que incluye la revisión, el contenedor se anulará el registro del antiguo paquete y registrar el nuevo paquete. El proxy puede manejar la mezcla de referencias y reanudar la invocación del servicio. Esta interacción será casi instantánea. Sus clientes serán completamente ajenos a lo que sucedió y usted acaba de ahorrarle a su empresa una cantidad sustancial de dinero (¿escucho una bonificación?).
En esta publicación de blog, la llamada a authorizePayment() se suspendió hasta que el paquete actualizado esté disponible. ¿Qué sucede si el control está dentro del método authorizePayment() cuando ocurre la actualización del paquete?