Extension deployment processing steps
Upon extension upload
- Extension Service validates manifest and copies Jar to tmp dir
- Attempts to start the extension
- If started, save Jar and Manifest info to DB
- Broadcast to other nodes to start
- Extensions are tracked by the manifest attribute 'extension-id'. Hence, we won't load two versions of the same thing. In case of multiple, the last jar will win
Upon extension reload
- Extension service stops current plugin
- Deletes current extension
- Moves new extension to tmp dir
- Starts new extension
On extension delete
- Stops and deletes extension from tmp dir
- Deletes extension from DB
- Disassociates from all RP Apps
Upon server shutdown
- Extension Service unloads all extension in tmp dir
- Jar and config data stays persisted in the DB
Deploying in a cluster
The deployment process is the same for the cluster. Upon upload via CC UI:
- Extension is started on the node processing the upload
- If successful, the extension Jar is stored in the DB
- A cluster broadcast msg asks the other nodes to load the extension from DB and start it
Extensions can be added to the server by uploading via the Control Center UI. Admin access to Control Center is needed.
The extension will automatically be propagated to all nodes in case of a cluster.
Extensions must be associated with one or more RP Applications in the Control Center.
The Extension(s) associated with an RP Application will receive callbacks when the RP Application is used for registration or authentication.
Updated about 2 years ago