Previous Topic: Get, Modify, or Delete an Object

Next Topic: Searches

Enhance DMS Performance

When using most of the DMSAPI calls, the Policy Server verifies that the user performing the operations is an administrator of the directory it is trying to modify, search, or update. The Policy Server does that by fetching all the domains and their associated user directories. The Policy Server verifies whether the user is the administrator of the directory. This process takes time. When there are multiple threads trying to verify administrators at the same time, the contention for the locks on the cache slows down the operation

The DMSAPI includes alternative methods that do not verify the administrator for each directory. The administrator is verified only once at login. The alternative methods also do not fetch all the domains and user directories.

The alternative methods are listed following. They are implemented by adding a parallel method with the 'NoAdminCheck' suffix. Use these methods when you are looking for enhanced performance. The original methods are still available when you require administrator validation.

Note: See the Javadoc for details about these methods.

SmDmsApi class

getDmsContext/getDmsContextNoAdminCheck                                     

SmDmsDirectory class

getCapabilities/getCapabilitiesNoAdminCheck

getDmsRoles/getDmsRolesNoAdminCheck

getUserChallengeText/getUserChallengeTextNoAdminCheck

getUserTempPassword/getUserTempPasswordNoAdminCheck

getOrganizations/getOrganizationsNoAdminCheck

SmDmsOrganization class

getGroups/getGroupsNoAdminCheck

getRoles/getRolesNoAdminCheck

getOrgranizations/getOrganizationsNoAdminCheck

search/searchNoAdminCheck

searchForward/searchForwardNoAdminCheck      

searchBack/searchBackNoAdminCheck

searchRefresh/searchRefreshNoAdminCheck

SmDmsUser class

changePassword/changePasswordNoAdminCheck

getDisabledState/getDisabledStateNoAdminCheck

setDisabledState/setDisabledStateNoAdminCheck

setEnable/setEnableNoAdminCheck

setDisable/setDisableNoAdminCheck

setPasswordMustChange/setPasswordMustChangeNoAdminCheck

getUserPWState/getUserPWStateNoAdminCheck

setUserPWState/setUserPWStateNoAdminCheck

authenticate/authenticateNoAdminCheck

getPrivileges/getPrivilegesNoAdminCheck

getRealmPrivileges/getRealmPrivilegesNoAdminCheck

getRealmContext/getRealmContextNoAdminCheck

addToRole/addToRoleNoAdminCheck

removeFromRole/removeFromRoleNoAdminCheck

getRoles/getRolesNoAdminCheck

getMembers/getMembersNoAdminCheck

SmDmsGroup class

getMembers/getMembersNoAdminCheck

SmDmsObject class

getObject/getObjectNoAdminCheck

modifyObject/modifyObjectNoAdminCheck

addObject/addObjectNoAdminCheck

deleteObject/deleteObjectNoAdminCheck

modifyObjectClass/modifyObjectClassNoAdminCheck

getGroups/getGroupsNoAdminCheck

addToGroup/addToGroupNoAdminCheck

removeFromGroup/removeFromGroupNoAdminCheck