OSGi Console für ConfluenceSeit der Version 2.10 von Confluence steht ein neues Plugin-Framework für die Confluence Plugin-Entwicklung bereit. Das Plugin-Framework beruht auf OSGi und Spring Dynamic Modules. Daher besteht die Möglichkeit auch native OSGi Bundles in Confluence zu deployen, etwa die OSGi Console. Finden sich im Manifest eines Confluence Plugins OSGi-Attribute, so werden auch diese ausgewertet.
Beim Deployment eines nativen OSGi-Bundels muss in Confluence immer ein - zumindest leerer - atlassian-plugin.xml Deskriptor mit im Archiv enthalten sein. Will man ein bestehendes OSGi-Bundle in Confluence deployen, muss man das Jar-Archiv des Bundles mit einen atlassian-plugin.xml Deskriptor anreichern. Alternativ lassen sich OSGi-Bundles aber auch über ein Launcher Atlassian Plugin oder über ein Launcher OSGi Plugin programmatisch installieren, letzteres soll hier gezeigt werden. Ich habe ein Atlassian Plugin Archiv mit einem leeren Plugin-Deskriptor erstellt. Im Manifest des Archivs findet sich ein OSGi Bundle-Activator Element. Die entsprechende Java-Klasse wird beim Deployen des Plugins instantiiert und die start-Methode ausgeführt. Umgekehrt wird auch die stop-Methode des Bundles aufgerufen, wenn das Plugin wieder heruntergefahren wird. Innerhalb der Start-Methoden lassen sich relativ einfach gewünschte Bundles programmatisch installieren.
Für die OSGi Console in Confluence werden die Bundles
programmatisch installiert bzw. deinstalliert. Die Bundle-Archive habe ich im Launcher Plugin unterhalb des Verzeichnis Nach dem Deployment des Launcher OSGi-Plugins lauscht dann unter Port 6666 auf der Confluence Maschine eine OSGi-Telnet Console. Links:
| Willkommen auf dem avono BlogHier auf dem avono Blog finden Sie in regelmäßigen Abständen sowohl technische Neuigkeiten aus unserer Partnerproduktwelt als auch nützliche Entwicklertipps.Und jetzt kommt der obligatorische Disclaimer: Die Ausführungen der Blogeinträge spiegeln nicht die Meinung der avono AG sondern nur die Sicht der einzelnen Autoren wider. Weitere Blogbeiträge JIRA5 – Statusprüfung abgegebener Aufgaben
am 30. April 2012 FishEye als Git Repository Manager
am 12. April 2012 Unite - Erste europäische Atlassian Anwenderkonferenz
am 11. April 2012 So macht Groovy Scripting in JIRA mehr Spaß
am 22. Dezember 2011 Mens sana in corpore sano
am 15. August 2011 |
