Package com.collibra.dgc.workflow.api.listener

# 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:
  - Serialized Form

- ## Field Summary

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

  `EVENTNAME_END, EVENTNAME_START, EVENTNAME_TAKE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AuthCacheEvictExecutionListener()`

- ## 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`