2010-08-08 16 views
1

J'ai changé mon Java SE (clic droit sur le projet Configurer -> Convertir en Projets Plug-in) pour le plug-in, mais quand je l'exécute - il fonctionne comme application Eclipse, comment démarrer comme OSGi? Merci!Lancer le plugin comme OSGi

Répondre

2

La conversion d'une application JavaSE en un seul grand ensemble signifie essentiellement que vous lancez votre code d'une manière différente. Au lieu de l'argument public static void main (String [] args), vous implémentez maintenant l'interface BundleActivator qui a une méthode start() et une méthode stop() (chacune avec un BundleContext comme argument). Le lancement dépend en grande partie de l'implémentation du framework que vous avez choisi. Depuis OSGi 4.2, il existe une API de lancement (paragraphe 6.2 de la spécification) qui spécifie un mécanisme universel pour lancer un framework et exécuter votre bundle unique. Si vous utilisez une implémentation plus ancienne, le lancement est spécifique au framework et je ne peux que vous référer à la documentation de ce framework.

+0

Recommanderiez-vous une implémentation OSGi 4.2 conforme? –

+0

Si je vais commencer à exécuter mon application via la méthode de BundleActivator, comment peut-elle interagir avec des bundles en fraemwork? –

+0

@ Thorbjørn: Oui, je recommande d'utiliser la dernière version de la spécification. @EK: Techniquement, vous lancez le framework et il appelle la méthode start d'une classe que vous spécifiez qui implémente BundleActivator. Le BundleContext qui est passé en argument aux méthodes start (et stop) est votre interface avec le framework. Cela vous permet entre autres d'interagir avec le registre des services. Les services constituent le principal mécanisme d'interaction des groupes. Vous pouvez publier et rechercher des services via BundleContext. Pour plus d'informations, je recommanderais une introduction à OSGi. –