Class SailPointWorkerExecutor
- java.lang.Object
-
- sailpoint.request.AbstractRequestExecutor
-
- com.identityworksllc.iiq.common.request.SailPointWorkerExecutor
-
- All Implemented Interfaces:
sailpoint.object.BaseExecutor
,sailpoint.object.RequestExecutor
public final class SailPointWorkerExecutor extends sailpoint.request.AbstractRequestExecutor
Request executor to allow partitioning of workers across all nodes in the cluster.Your Request should include an attribute called serializedWorkers, which must be a list of Base64-encoded strings, each representing a Java Serialized worker. Each worker should encapsulate the work it’s expected to do and must not depend on any inputs from the Request.
(In other words, the worker should be able to do the same job whether invoked via a Request or directly in-line in your Java code.)
Workers will be deserialized using ObjectInputStream.
Workers will run in a single Sailpoint context and will be invoked via execute() and not via implementation().
Each worker will be provided a TaskMonitor for this Request, which it can use to execute partition status updates.
I recommend creating a number of partitions with relatively small worker counts, because every update of the Request will need to serialize the entire object, including your strings, back to the database.
An interrupted SailPointWorkerExecutor (e.g., via server shutdown) will be deleted rather than resumed when the server is restarted. You will have no notification of this.
-
-
Field Summary
Fields Modifier and Type Field Description static String
REQUEST_DEFINITION
The request definition name.
-
Constructor Summary
Constructors Constructor Description SailPointWorkerExecutor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(sailpoint.api.SailPointContext sailPointContext, sailpoint.object.Request request, sailpoint.object.Attributes<String,Object> attributes)
Main entry pointboolean
terminate()
-
-
-
Field Detail
-
REQUEST_DEFINITION
public static final String REQUEST_DEFINITION
The request definition name.You will need to have imported this request definition XML.
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SailPointWorkerExecutor
public SailPointWorkerExecutor()
-
-
Method Detail
-
execute
public void execute(sailpoint.api.SailPointContext sailPointContext, sailpoint.object.Request request, sailpoint.object.Attributes<String,Object> attributes) throws sailpoint.request.RequestPermanentException
Main entry point- Throws:
sailpoint.request.RequestPermanentException
- See Also:
RequestExecutor.execute(SailPointContext, Request, Attributes)
-
terminate
public boolean terminate()
- Specified by:
terminate
in interfacesailpoint.object.BaseExecutor
- Overrides:
terminate
in classsailpoint.request.AbstractRequestExecutor
-
-