← Back to plugin index

Combining Extended User Persister

Description
Merges the results of several ExtendedUserPersisters. This may only work as expected, if every user persister cares about a distinct subset of users. Please be aware that the undeletion of a user is not possible.
Type name
CombiningExtendedUserPersister
Class
com.airlock.iam.core.misc.impl.persistency.CombiningExtendedUserPersister
May be used by
Properties
User Insertion Persister (userInsertionPersister)
Description
The persister that will be used when a user gets inserted. Please make sure that this user persister is also used in the list of persisters within this plugin, otherwise some unexpected behaviour may be the result of the configuration. If this property is left empty, the configuration validates, but the insertion of a user is not possible.
Attributes
Plugin-Link
Optional
Assignable plugins
Persisters (persisters)
Description
The list of persisters in the order they are combined. When a user exists in multiple inner persisters an exception is thrown, or the first persister in this list wins, depending on the configuration flag Allow Duplicates.
Attributes
Plugin-List
Mandatory
Assignable plugins
Allow Duplicates (allowDuplicates)
Description
If this flag is set to true, the result from the first inner persister where the user is found is returned.

Potentially the user may be found by an other persister. If this flag is set to false, always all inner persisters are asked, and if a userId is found by multiple inner persisters, a NotUniqueException is thrown.

Iterator methods are always called on all persisters, but if Allow Duplicates is enabled, no exception is thrown in case of duplicates.

Enabling this flag improves performance but the uniqueness of a user over all inner persisters is not checked any more.
Attributes
Boolean
Optional
Default value
false
YAML Template (with default values)

type: CombiningExtendedUserPersister
id: CombiningExtendedUserPersister-xxxxxx
displayName: 
comment: 
properties:
  allowDuplicates: false
  persisters:
  userInsertionPersister: