Thanks for the reply, Paul. And, yes, I agree with you about altering the Request serviceDef.
I was hoping to avoid writing a custom RequestProcessor.processRequests() method because mimicking the OOTB one seems relatively complex. Based on trace logs (see below), the OOTB one calls multiple substantial private methods (i.e., initialize, isAllowed, and processRequest). So I would have to guess at what four RequestProcessor methods do and then reassess this for each (major) new IdentityIQ release. Does this seem like an accurate assessment? Or am I missing something?
Trace logs from RequestProcessor.processRequests():
2025-12-24T10:38:06,033 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering processRequests()
2025-12-24T10:38:06,033 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering initialize(context = sailpoint.server.InternalContext@49cfa46c)
2025-12-24T10:38:06,034 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting initialize = null
2025-12-24T10:38:06,034 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering createRequestsFilter()
2025-12-24T10:38:06,034 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting createRequestsFilter = ((completed.isNull() || completed == “”) && (nextLaunch <= DATE$1766590686034 || nextLaunch.isNull()) && (launched.isNull() || launched == “”))
2025-12-24T10:38:06,045 INFO RequestProcessor sailpoint.request.RequestProcessor:762 - Cycle 258 [385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE]
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering logInfo(msg = Considering 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE)
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering getLogMessage(msg = Considering 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE)
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting getLogMessage = Host:Server123: Considering 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE
2025-12-24T10:38:06,046 INFO RequestProcessor sailpoint.request.RequestProcessor:254 - Host:Server123: Considering 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting logInfo = null
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering isAllowed(context = sailpoint.server.InternalContext@49cfa46c, id = 385e48199b5019cc819b51029b8d0043, pool = sailpoint.request.RequestProcessor$ThreadPool@2081287e, host = null, phase = 0, dependentPhase = 0)
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering getRunningThreads()
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting getRunningThreads = 0
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting isAllowed = true
2025-12-24T10:38:06,046 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering processRequest(context = sailpoint.server.InternalContext@49cfa46c, pool = sailpoint.request.RequestProcessor$ThreadPool@2081287e, id = 385e48199b5019cc819b51029b8d0043)
2025-12-24T10:38:06,061 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering logInfo(req = sailpoint.object.Request@65a86dc[id=385e48199b5019cc819b51029b8d0043,name=Acme Update Identity - JDOE], msg = Obtained transaction lock)
2025-12-24T10:38:06,061 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering getLogMessage(req = sailpoint.object.Request@65a86dc[id=385e48199b5019cc819b51029b8d0043,name=Acme Update Identity - JDOE], msg = Obtained transaction lock)
2025-12-24T10:38:06,062 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting getLogMessage = Host: Server123, Request 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE: Obtained transaction lock
2025-12-24T10:38:06,062 INFO RequestProcessor sailpoint.request.RequestProcessor:292 - Host: Server123, Request 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE: Obtained transaction lock
2025-12-24T10:38:06,062 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting logInfo = null
2025-12-24T10:38:06,062 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering logInfo(req = sailpoint.object.Request@65a86dc[id=385e48199b5019cc819b51029b8d0043,name=Acme Update Identity - JDOE], msg = Processing)
2025-12-24T10:38:06,062 TRACE RequestProcessor sailpoint.request.RequestProcessor:138 - Entering getLogMessage(req = sailpoint.object.Request@65a86dc[id=385e48199b5019cc819b51029b8d0043,name=Acme Update Identity - JDOE], msg = Processing)
2025-12-24T10:38:06,063 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting getLogMessage = Host: Server123, Request 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE: Processing
2025-12-24T10:38:06,063 INFO RequestProcessor sailpoint.request.RequestProcessor:292 - Host: Server123, Request 385e48199b5019cc819b51029b8d0043:Acme Update Identity - JDOE: Processing
2025-12-24T10:38:06,063 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting logInfo = null
2025-12-24T10:38:06,073 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting processRequest = null
2025-12-24T10:38:06,074 TRACE RequestProcessor sailpoint.request.RequestProcessor:150 - Exiting processRequests = null