Thread Safety - EnterWorks_Process_Exchange_(EPX) - 10.6

EnterWorks EPX Programmers Reference

Product type
Software
Portfolio
Verify
Product family
EnterWorks
Product
Precisely EnterWorks > EnterWorks Process Exchange (EPX)
Version
10.6
Language
English
Product name
Precisely EnterWorks
Title
EnterWorks EPX Programmers Reference
Topic type
Programming Reference
Reference
First publish date
2007

All EPX APIs have been designed to be “thread safe” with the exception of three methods in the WorkItem Facade. These three methods are not safe to use within a client that makes use of concurrent threads with shared data:

public Collection getStartingPointList

(SessionProfile sessionProfile, String clientUniqId )

throws WorkItemException;

public void setSelectedStartingPoint

(SessionProfile sessionProfile,

String clientUniqId,

Integer selectedSatrtingPointId )

throws WorkItemException;

public WorkItemVersionExtendedVO createWorkItem

(SessionProfile sessionProfile,

String clientUniqId,

String workItemName,

String workItemdescription )

throws WorkItemException;

All of these methods accept the clientUniqId as a parameter, which is used as a key to a client’s cache of selected starting points and work item name. The cache is designed to aid clients that behave similarly to the EPX TaskManager in that work items are created one at a time, and the required data is obtained in a series of steps in which subsequent steps requires data from the previous step(s). For clients that require thread safety, the getStartingPointList(SessionProfile) method is thread-safe, as is any overload of the createWorkItem() method that does not make use of the clientUniqId parameter.

The setSelectedStartingPoint() method should not be used at all since it exists to populate the cache. Clients must manage their own cache in this scenario if their needs so require.