Deployment
Extension Deployment Processing Flow
Extension Behavior
When the extension is uploaded:
-
ExtensionServicevalidates the manifest and copies the.jarto thetmpdirectory -
The extension will try to start
-
If started, save the
.jarand manifest info to the database -
Broadcast to the other nodes
-
Extensions are tracked by the manifest attribute
extension-idto prevent loading two versions of the same thing; the last.jarwill be used
When the extension is reloaded, the ExtensionService:
-
Stops the current plugin
-
Deletes the current extension
-
Moves the new extension to the
tmpdirectory -
Starts the new extension
When the extension is deleted:
-
The extension is stopped and deleted from the
tmpdirectory -
The extension is deleted from the database
-
The extension disassociates from all RPApps
Upon server shutdown:
-
ExtensionServiceunloads all extensions in thetmpdirectory -
.jarand 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
.jaris 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.