Deployment
Extension Deployment Processing Flow

Extension Behavior
When the extension is uploaded:
-
ExtensionService
validates the manifest and copies the.jar
to thetmp
directory -
The extension will try to start
-
If started, save the
.jar
and manifest info to the database -
Broadcast to the other nodes
-
Extensions are tracked by the manifest attribute
extension-id
to prevent loading two versions of the same thing; the last.jar
will be used
When the extension is reloaded, the ExtensionService
:
-
Stops the current plugin
-
Deletes the current extension
-
Moves the new extension to the
tmp
directory -
Starts the new extension
When the extension is deleted:
-
The extension is stopped and deleted from the
tmp
directory -
The extension is deleted from the database
-
The extension disassociates from all RPApps
Upon server shutdown:
-
ExtensionService
unloads all extensions in thetmp
directory -
.jar
and configuration data stays persisted in the database
Deploying in a Cluster
The deployment process is the same for a cluster. Upon upload via CC UI:
-
The extension is started on the node processing the upload
-
If successful, the extension
.jar
is stored in the database -
A cluster broadcast message asks the other nodes to load the extension from the database and start it
Upload an Extension
Add extensions to the server by uploading them using the CC UI. Administrator access to CC is needed.
The extension will automatically be propagated to all nodes if the current one is in a cluster.
See Intelligent Extensions under Control Center Advanced Mode for how to upload an Extension.
Associate the Extension to a HYPR Application
Extensions must be associated with one or more RP applications in CC. The extension(s) associated with an RP Application will receive callbacks when the RP Application is used for registration or authentication.
See Extensions under Control Center Advanced Mode: Advanced Config menu for how to associate an Extension.