Class AuthCacheEvictExecutionListener

java.lang.Object
com.collibra.dgc.workflow.api.listener.AuthCacheEvictExecutionListener
All Implemented Interfaces:
Serializable, org.flowable.engine.delegate.BaseExecutionListener, org.flowable.engine.delegate.ExecutionListener

public class AuthCacheEvictExecutionListener extends Object implements org.flowable.engine.delegate.ExecutionListener
The AuthCacheEvictExecutionListener evicts the current user's authorization cache and flush all changes which made in the scope of current session.

Evicting the cache can be useful in situations where the authorizer cache needs to be updated immediately, even before the transaction is committed, as the cache is typically updated only after the transaction is committed.

This listener is created to allow a user to be assigned in a script task to a group that has the necessary permissions to participate in the workflow and immediately be assigned to the next task. Without this listener, the user will not have the appropriate permissions to be assigned to a task until the transaction is committed.

An alternative approach would be to make the script asynchronous, but this would prevent the user task from being opened automatically.

See Also:
  • Field Summary

    Fields inherited from interface org.flowable.engine.delegate.BaseExecutionListener

    EVENTNAME_END, EVENTNAME_START, EVENTNAME_TAKE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    notify(org.flowable.engine.delegate.DelegateExecution execution)
     

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AuthCacheEvictExecutionListener

      public AuthCacheEvictExecutionListener()
  • Method Details

    • notify

      public void notify(org.flowable.engine.delegate.DelegateExecution execution)
      Specified by:
      notify in interface org.flowable.engine.delegate.ExecutionListener