tienen una aplicación OSGi que ejecuta Equinox. Me gustaría ver los servicios que proporciona la aplicación. ¿Cómo puedo hacer esto?¿hay alguna manera de ver los servicios registrados en una aplicación OSGi?
Respuesta
Depende si se refiere de forma interactiva, utilizando un shell OSGi o programáticamente desde su aplicación.
interactiva
Puede utilizar el Equinox console. Ver 'servicios'. Para ver solo los servicios que ha implementado, necesita usar un filtro LDAP. He aquí un ejemplo:
(objectClass=my.package.name.*)
Véase también la respuesta de @Neil de Bartlett, que podría ser más fácil ya que sólo se puede limitar por ID de paquete (suponiendo que lo sepa, pero eso es fácil de encontrar).
Programatically
utilizar el enfoque ServiceTracker. Neil also wrote all about this, así que asegúrese de darle sus upvotes también :)
A partir del tipo cáscara gogo:
inspect cap service
que mostrará todos los servicios registrados por todos los paquetes. Si desea mostrar servicios para un paquete específico a continuación, escriba:
inspect cap service <id>
Dónde <id>
es el ID de grupo numérico del paquete está interesado en
Por el momento, y quiero decir, con mucho, el mejor. forma de ver sus servicios y miles de detalles más está utilizando Apache Felix Webconsole y luego instalar XRay. Es posible que desee leer mi first y second blog sobre este paquete.
Si usted está buscando para simplemente detener un servicio específico que ya está registrado, pero no se ha iniciado y le gustaría empezar de forma dinámica, se puede obtener el paquete usando:
Bundle bundle = Platform.getBundle("com.example.com.class");
// A continuación, iniciar el haz
bundle.start();
// Compruebe si los servicios Referencias
ServiceReference<IExampleService> serviceReference = b.getBundleContext().getServiceReference(IExampleService.class);
Según los [documentos API] [1] pueden llamar al método getContext().getAllServiceReferences(clazz, filter)
para obtener una lista de todos los servicios que se registraron bajo la clase especificada y que coinciden con la expresión de filtro especificada. Pasando null
en ambos parámetros obtendrá todos los servicios.
- 1. ¿Hay alguna manera de ver los propios permisos svn?
- 2. ¿Hay alguna manera de ver cuánta memoria usa una variable?
- 3. ¿Hay alguna manera de ver todos los archivos modificados en una rama en Git?
- 4. Integrando los servicios de Guice y OSGi
- 5. OSGi: ¿Blueprint reemplaza los servicios declarativos?
- 6. PHP: ¿hay alguna manera de ver caracteres "invisibles" como \ n
- 7. Cómo prestación de servicios OSGi por cliente
- 8. ¿Hay alguna manera de conectar mi consola a una aplicación heroku para ver la actividad de la aplicación/sitio web?
- 9. ¿Hay alguna manera de ver qué UDID están incluidos en una compilación?
- 10. ¿Hay alguna manera de ver los archivos wireshark .pcap en Fiddler?
- 11. ¿Cómo elegir en tiempo de ejecución entre varios servicios OSGi de una manera inteligente?
- 12. Uso de la biblioteca no OSGI en una aplicación OSGI
- 13. Qué es diferente entre el rastreador de servicios OSGi y los servicios declarativos
- 14. Buscar servicios OSGI por propiedades
- 15. ¿Hay alguna manera de desactivar una etiqueta?
- 16. Manera elegante de ver datos jerárquicos en una aplicación web
- 17. ¿Hay alguna manera de detectar lectores abiertos en una SqlConnection?
- 18. ¿Hay alguna manera de ver una base de datos mysql para cambios usando perl?
- 19. ¿Hay alguna manera de pausar una CABasicAnimation?
- 20. Obtener servicios OSGi de un paquete en Sling/CQ
- 21. Exportación de componentes Spring como servicios OSGi
- 22. ¿Hay alguna manera de imprimir en la consola en una aplicación de Android?
- 23. ¿Hay alguna manera de "limpiar" una superficie?
- 24. ¿Hay alguna manera de obtener PartionKeys distintas de una Tabla
- 25. ¿Hay alguna manera de usar variables locales en los módulos?
- 26. ¿Hay alguna manera de ver el archivo .entitlements de su aplicación desde el archivo .ipa de su aplicación?
- 27. Cómo inicio automático/inicio ansioso Servicios OSGi en plataforma Eclipse
- 28. ¿Hay alguna manera de alias/anclar una matriz en YAML?
- 29. ¿Hay alguna manera de exponer múltiples servicios de WCF a través de un punto final único?
- 30. En ASP clásico, ¿hay alguna manera de manejar los errores a nivel de aplicación?
parece mostrar los servicios de eclipse osgi en ejecución. Me gustaría ver los servicios de mi aplicación osgi que implementé. ¿Hay alguna forma de hacer esto? – user840930
De nuevo, necesita usar un filtro para reducirlos. Además, en algunas consolas (no estoy seguro acerca de la consola Equinox) puede filtrar por paquete fuente ... El segundo ejemplo de código de Neil es un ejemplo de esto. –