Namespace: OpenEdge.ApplicationServer
Type: Class AgentManager
Parent Classes:
Inherits: Progress.Lang.Object


Copyright (c) 2014,2021-2022 by Progress Software Corporation. All rights reserved.
File:AgentManager.cls
Description:Used by the Server Broker tools to manage agents/sessions.
Author(s):aherbstr, dugrau
Created:Tuesday July 8 2014
Notes:Requests originate from Java MBeans which are utilized by the
OEJMX utility or oemanager WebApp via the following sources:
pasoe/com.progress.appserv.clientrt/
src/main/java/com/progress/appserv/clientrt/admin/
AdminConstants.java (CLASS_AGENTMGR)
SessionManager.java
pasoe/com.progress.appserv.manager/
src/main/java/com/progress/appserv/manager/admin/
AgentManager.java
src/main/java/com/progress/appserv/manager/jmx/
AgentManagerJmx.java
BrokerServiceManagerJmx.java
src/main/java/com/progress/appserv/manager/rest/
AgentManagerService.java
BrokerManagerService.java
The ABL code utilizes Progress.ApplicationServer.* classes written in C:
src/biosys/biopasainit.c (CLASS Progress.ApplicationServer.AgentManager)
src/biosys/biopasa.c (bioPASAgentManager)



Method Summary
  Options Name Purpose
  LOGICAL cancelRequest (character, character) /* Cancels a request for a given SessionID and RequestID @param character SessionID @param character RequestID @param logical Success/Failure */
  LOGICAL DebugTest (character, character, integer, character, integer, longchar) /* Access special debug features @param character Operation to execute @param character Modifiers to the operation @param integer Integer input parameters @param character Character input parameters @param integer Integer output parameters @param character Character output parameters @param logical Success/Failure */
  LOGICAL dynamicPropertiesUpdate (character) /* Update dynamic properties (eg. log entry types, logging level, etc.) @param character Dynamic properties string (as comma-delimited list) @param logical Success/Failure */
  LOGICAL flushDeferredLog () /* Flush the current deferred log buffer (to log file on disk) @param logical Success/Failure */
  LOGICAL GetABLObjectsReport (integer, longchar) /* Initiate the return of the ABLObjects report for a given Agent SessionID @param integer Agent SessionID @param longchar JSON data to be returned @param logical Success/Failure */
  LOGICAL GetABLObjectsReport (longchar) /* Initiate the return of the ABLObjects report for all sessions of this agent @param longchar JSON data to be returned @param logical Success/Failure */
  LOGICAL GetMemoryUseReport (integer, longchar) /* Initiate the return of the ABLObjects report for a given Agent SessionID @param integer Agent SessionID @param longchar JSON data to be returned @param logical Success/Failure */
  LOGICAL GetMemoryUseReport (longchar) /* Initiate the return of the ABLObjects report for all sessions of this agent @param longchar JSON data to be returned @param logical Success/Failure */
  LOGICAL GetProfilerSettings (longchar) /* Return the current profiler settings in use @param longchar JSON data containing profiler settings @param logical Success/Failure */
  LOGICAL InitiateDebugger (character) /* Initiate the debugger for a connection @param character Connection string @param logical Success/Failure */
  logMessage (character)
  LOGICAL PushProfilerData (character, integer, longchar) /* Trigger the pushing of profiler data for this agent @param character Destination URL for output @param integer Number of requests to push profiler data @param longchar Settings for profiler collection (as JSON) @param logical Success/Failure */
  LOGICAL resetDeferredLog () /* Reset the deferred logging buffer @param logical Success/Failure */
  LOGICAL ResetDynamicABLSessionLimit (longchar) /* Reset the dynamic ABL Session limit @param longchar Current session information @param logical Success/Failure */
  LOGICAL SetDynamicABLSessionLimit (integer, longchar) /* Set the dynamic ABL Session limit @param integer New limit value @param longchar Current session information @param logical Success/Failure */
  LOGICAL stopAgent () /* Terminates the current MSAS Agent using default timeouts @param logical Success/Failure */
  LOGICAL stopAgent (integer, integer) /* Terminates the current MSAS Agent with specified timeouts @param integer Time (in ms) to wait for current requests to finish @param integer Time (in ms) to wait after the stop is issued @param logical Success/Failure */
  LOGICAL terminateABLSession (character, integer) /* Terminates a specified ABL session @param character Broker SessionID @param integer Termination option [0=Graceful, 1=Forced, 2=Finish & Stop] @param logical Success/Failure */
  LOGICAL terminateABLSession (integer, integer) /* Terminates a specified ABL session @param character Agent SessionID @param integer Termination option [0=Graceful, 1=Forced, 2=Finish & Stop] @param logical Success/Failure */
  LOGICAL terminateFreeABLSession (integer) /* Terminates a specified Agent SessionID, if session is inactive @param integer Agent SessionID @param logical Success/Failure */
  INTEGER terminateFreeABLSessions (integer) /* Terminates a specified number of inactive ABL sessions @param integer Number of sessions to terminate (0=no limit, otherwise up to given number >0) @param integer Number of sessions terminated */
  LOGICAL TrackABLObjects (logical) /* Toggle the tracking of ABLObjects by this agent @param logical Toggle [True=enable, False=disable] @param logical Success/Failure */
  LOGICAL TrackingABLObjects () /* Returns indication if agent is currently tracking ABLObjects @param logical Current tracking state [True=enabled, False=disabled] */
  LOGICAL TrackingMemoryUse () /* Returns indication if agent is currently tracking memory use @param logical Current tracking state [True=enabled, False=disabled] */
  LOGICAL TrackMemoryUse (logical) /* Toggle the tracking of memory use by this agent @param logical Toggle [True=enable, False=disable] @param logical Success/Failure */

Constructor Summary
  Options Name Purpose
  AgentManager () /* Constructor */

Property Summary
  Options Name Purpose
  OpenEdge.Logging.ILogWriter Logger


Method Detail
Top

LOGICAL cancelRequest (character, character)

/* Cancels a request for a given SessionID and RequestID
Parameters:
brokerSessionId CHARACTER
 
requestId CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL DebugTest (character, character, integer, character, integer, longchar)

/* Access special debug features
Parameters:
operation CHARACTER
 
modifiers CHARACTER
 
iparm INTEGER
 
cparm CHARACTER
 
intoutparm INTEGER
 
lcharoutparm LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL dynamicPropertiesUpdate (character)

/* Update dynamic properties (eg. log entry types, logging level, etc.)
Parameters:
dynamicPropertiesString CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL flushDeferredLog ()

/* Flush the current deferred log buffer (to log file on disk)
Returns LOGICAL
 
Top

LOGICAL GetABLObjectsReport (integer, longchar)

/* Initiate the return of the ABLObjects report for a given Agent SessionID
Parameters:
AgentSessId INTEGER
 
jsonrpt LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL GetABLObjectsReport (longchar)

/* Initiate the return of the ABLObjects report for all sessions of this agent
Parameters:
jsonrpt LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL GetMemoryUseReport (integer, longchar)

/* Initiate the return of the ABLObjects report for a given Agent SessionID
Parameters:
AgentSessId INTEGER
 
jsonrpt LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL GetMemoryUseReport (longchar)

/* Initiate the return of the ABLObjects report for all sessions of this agent
Parameters:
jsonrpt LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL GetProfilerSettings (longchar)

/* Return the current profiler settings in use
Parameters:
profSettings LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL InitiateDebugger (character)

/* Initiate the debugger for a connection
Parameters:
connectstring CHARACTER
 
Returns LOGICAL
 
Top

logMessage (character)

Parameters:
msg CHARACTER
 
Top

LOGICAL PushProfilerData (character, integer, longchar)

/* Trigger the pushing of profiler data for this agent
Parameters:
OutUrl CHARACTER
 
RequestCount INTEGER
 
SettingsJson LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL resetDeferredLog ()

/* Reset the deferred logging buffer
Returns LOGICAL
 
Top

LOGICAL ResetDynamicABLSessionLimit (longchar)

/* Reset the dynamic ABL Session limit
Parameters:
sessionInfo LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL SetDynamicABLSessionLimit (integer, longchar)

/* Set the dynamic ABL Session limit
Parameters:
limit INTEGER
 
sessionInfo LONGCHAR
 
Returns LOGICAL
 
Top

LOGICAL stopAgent ()

/* Terminates the current MSAS Agent using default timeouts
Returns LOGICAL
 
Top

LOGICAL stopAgent (integer, integer)

/* Terminates the current MSAS Agent with specified timeouts
Parameters:
waitToFinish INTEGER
 
waitAfterStop INTEGER
 
Returns LOGICAL
 
Top

LOGICAL terminateABLSession (character, integer)

/* Terminates a specified ABL session
Parameters:
brokerSessionId CHARACTER
 
terminateOption INTEGER
 
Returns LOGICAL
 
Top

LOGICAL terminateABLSession (integer, integer)

/* Terminates a specified ABL session
Parameters:
agentSessionId INTEGER
 
terminateOption INTEGER
 
Returns LOGICAL
 
Top

LOGICAL terminateFreeABLSession (integer)

/* Terminates a specified Agent SessionID, if session is inactive
Parameters:
agentSessionId INTEGER
 
Returns LOGICAL
 
Top

INTEGER terminateFreeABLSessions (integer)

/* Terminates a specified number of inactive ABL sessions
Parameters:
numSessions INTEGER
 
Returns INTEGER
 
Top

LOGICAL TrackABLObjects (logical)

/* Toggle the tracking of ABLObjects by this agent
Parameters:
toggle LOGICAL
 
Returns LOGICAL
 
Top

LOGICAL TrackingABLObjects ()

/* Returns indication if agent is currently tracking ABLObjects
Returns LOGICAL
 
Top

LOGICAL TrackingMemoryUse ()

/* Returns indication if agent is currently tracking memory use
Returns LOGICAL
 
Top

LOGICAL TrackMemoryUse (logical)

/* Toggle the tracking of memory use by this agent
Parameters:
toggle LOGICAL
 
Returns LOGICAL
 


Constructor Detail
Top

AgentManager ()

/* Constructor


Property Detail
Top

OpenEdge.Logging.ILogWriter Logger

Returns OpenEdge.Logging.ILogWriter