Estoy tratando de ejecutar OSGi framework (Equinox) en un método principal. Cada vez que inicio el marco, cuando imprimo BundleContext.getBundles().length
, dice que el marco tiene solo 1 paquete instalado (que sin duda es el paquete del sistema). Cuando instalo mi primer paquete, la identificación del paquete continuará desde la última sesión. digamos que si tuve 4 paquetes la sesión pasada (y los he detenido y desinstalado todos antes de detener el paquete del sistema), se configuró la primera ID del paquete 5. Ahora, ¿quiero saber cómo elige el marco el ID del paquete? ¿Por qué y cómo recuerda el marco la última sesión, a pesar de que había desinstalado todos los paquetes? ¿Es por Bundle Cache? Y si lo es, ¿cómo puedo borrar el caché (para reiniciar la numeración desde 1)?¿Cómo establece el marco OSGi la ID del paquete?
Respuesta
El marco tiene el último ID de paquete usado en algún lugar de la tienda persistente que administra. El aspecto de esta tienda es un detalle de la implementación del marco. Cuando inicia el marco, puede especificar la propiedad de configuración del marco org.osgi.framework.storage.clean
. Esto borrará todos los paquetes instalados, pero no estoy seguro de si restablecerá el último ID del paquete utilizado.
Al borrar la carpeta equinox/org.eclipse.osgi
se restablece la numeración. Antes de eliminar, asegúrese de que sus paquetes no tengan datos importantes debajo de esta carpeta.
El comando bundle
con un ID de paquete válido puede mostrar la ruta absoluta de la carpeta equinox/org.eclipse.osgi
:
osgi> bundle 7
slf4j.api_1.6.1 [7]
Id=7, Status=ACTIVE Data Root=D:\temp\test\equinox\org.eclipse.osgi\bundles\7\data
...
¿Qué tipo de datos almacenará el paquete en este camino que podría ¿se Importante? – Reza
Tal vez sus paquetes almacenan allí algunos datos persistentes. Si no persisten nada, generalmente no hay nada de qué preocuparse. Depende principalmente de tus paquetes. Otra posibilidad son las configuraciones del administrador de configuración, pero no sé demasiado al respecto. Almacenamos nuestros datos persistentes fuera de este directorio. – palacsint
- 1. ¿Cómo funciona la actualización del paquete OSGi?
- 2. Estructura del paquete del paquete OSGi
- 3. Iniciando el paquete OSGi
- 4. ¿La mejor técnica para obtener el contexto del paquete OSGi?
- 5. Ejecutar el paquete osgi desde la línea de comandos
- 6. ¿Cómo se establece el tamaño del marco UIScrollView programáticamente?
- 7. pregunta del ciclo de vida del paquete osgi
- 8. ¿Cómo ejecutar un marco OSGi dentro del código java habitual?
- 9. Encuentra el paquete OSGI que exporta un paquete?
- 10. conseguir OSGi paquete de Eclipse IConfigurationElement
- 11. backbone.js model.save no establece el id
- 12. ¿Cómo puedo combinar el empaque WAR y la creación del paquete OSGi en Maven?
- 13. ¿Cómo compilar el paquete maquetado OSGi 4.3 con OpenJDK 7?
- 14. Cómo utilizar la biblioteca de extensiones JSF como paquete OSGI
- 15. ¿Cómo crear un paquete OSGi desde la biblioteca jar?
- 16. iTunes api, búsqueda por ID del paquete?
- 17. JAR en el paquete OSGi con Maven-haz-plugin
- 18. acceso Contexto de primavera en el paquete OSGi
- 19. Paquete LaTeX Beamer, cambie el título del marco en \ againframe
- 20. Marco de modularización C++ (como OSGi)?
- 21. Embedded OSGi o paquete de aplicación
- 22. se establece el atributo id con knockoutjs incluyendo un prefijo
- 23. iTunes Connect: ¿Cómo cambiar el ID del paquete antes de enviar la aplicación?
- 24. establece "id" y "nombre" para @HtmlEditorFor?
- 25. iOS ID del paquete del desarrollador y el nombre de la aplicación ya están en uso
- 26. acceder a los argumentos de línea de comandos del paquete OSGi
- 27. no se puede iniciar el paquete de osgi porque no se puede resolver la importación
- 28. Cómo borrar un objeto id con marco de la entidad
- 29. iphone: el radio de la esquina del botón no establece
- 30. ¿Tiene acceso a recursos en otro paquete de osgi?
Se reinicia la numeración. – palacsint
@palacsint - ¿Esta configuración, elimina la carpeta 'equinox/org.eclipse.osgi' que mencionaste en tu respuesta? – Reza
Creo que se elimina. (He creado un directorio vacío dentro de la carpeta 'equinox/org.eclipse.osgi' y se ha ido después de que comencé el framework con' clean = true'.) – palacsint