OSGI mode for tigase server.

Oleg Shestakov
Added almost 4 years ago

Could you provide any documentation about it (specific things related to server)?

According to later posts I understood that we can create plugins as separate bundle. But what is about hot swap of classes of tigase-server?

Replies (1)

Added by Andrzej Wójcik IoT 1 CloudTigaseTeam almost 4 years ago

We already ported every component of Tigase XMPP Server to bundles, so ie. Tigase Message Archiving project is a bundle and can be added, updated or removed from server at runtime by starting/stopping bundle containing Tigase Message Archiving project. I will keep using Tigase Message Archiving in this case as an example project.

To be more specific about how we provided classes to use by Tigase XMPP Server from Tigase Message Archiving project (separate bundle), I would suggest to look into file from Tigase Message Archiving project which is responsible for registering/unregistering classes on start/stop of a bundle. This class is added to Manifest file in bundle as activator class of a bundle.

As Tigase XMPP Server project is single bundle (base components) it is not possible to replace single classes from this bundle. You can only start/stop/replace whole bundle which results in starting/stopping of Tigase XMPP Server.