C - the PluginConfiguration class for this implementation of
LoadBalancingPluginH - the LoadBalancingHandler class for this LoadBalancingPluginpublic interface LoadBalancingPlugin<H extends LoadBalancingHandler,C extends PluginConfiguration> extends EntityScopedHandlerPlugin<H,C>, DescribesUIConfigurable
LoadBalancingPlugin is the runtime instantiation of a Load Balancing Strategy, defined in the
Administrative API. A LoadBalancingPlugin provides a LoadBalancingHandler that provides the logic
for routing HTTP requests to one of the TargetHosts for a Site.
LoadBalancingPlugin must be annotated with the LoadBalancingStrategy
annotation.
LoadBalancingPlugin should be placed in a
META-INF/services/com.pingidentity.pa.sdk.ha.LoadBalancingPlugin resource file
that is packaged in the jar containing the compiled class for the implementation. This signals to PingAccess that
the class is a valid LoadBalancingPlugin implementation.
com.pingidentity.pa.sdk.plugins
documentation, a LoadBalancingPlugin has the following additional responsibilities:
LoadBalancingHandler instancesEntityScopedHandlerPlugin.getHandler() and
EntityScopedHandlerPlugin.getHandler(Object) methods. These methods will be invoked
when LoadBalancingStrategy instances are attached to Sites.
com.pingidentity.pa.sdk.plugins, a LoadBalancingPlugin has
further lifecycle actions that are involved it the creation of a LoadBalancingHandler that is ready to use.
Once the standard lifecycle actions are completed for the LoadBalancingPlugin instance, the one of the following actions will occur:
EntityScopedHandlerPlugin.getHandler() will be called to create a new instance of
the LoadBalancingHandler. This will occur on first initialization or when this LoadBalancingStrategy is
first assigned to a Site.EntityScopedHandlerPlugin.getHandler(Object) will be called to update an
existing instance of the LoadBalancingHandler. It is up to the implementation of this method to determine
when the existing handler can be updated in place and when a new handler must be createdLoadBalancingHandler instance is scoped to the Site to which this plugin was assigned
and will handle load balancing decisions for that Site.com.pingidentity.pa.sdk.pluginsgetHandler, getHandlerconfigure, getConfigurationgetConfigurationFieldsCopyright 2023 Ping Identity Corp. All rights reserved.