Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [%ZEN] >  [Report] >  [RenderServer]
Private  Storage   

persistent class %ZEN.Report.RenderServer extends %Persistent

Zen Report Render Server definition and utility methods/queries. Also a superclass for other types of Zen Report Hot Servers.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 19 17 3 1


Summary

Properties
ConfigFile ConnectionTimeout InitQueueSize InitializationTimeout
JVMArgs JavaHome LogFile LogLevel
LogRotationCount MaxLogFileSize MemoryThreshold Name
NumPingThreads NumThreads PingPort Port
Server ServerType ThresholdPollingPeriod

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%InsertBatch %IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject CmdLine
GetState LogReportInfo LogStart LogStartFailure
LogStop PortToName Start StartByPort
Stop TerminateAllRenderServers TerminateAllRenderServers2 ZenReportServerExists

Subclasses
%ZEN.Report.ExcelServer %ZEN.Report.PrintServer

Parameters

• parameter DOMAIN = "%Utility";
• parameter TYPE = 0;
"0" indicates a Render Server. Subclasses must override this parameter.

Properties

• property ConfigFile as %String(MAXLEN=260);
Fully qualified name of the renderer configuration file.
Note: This property applies to Render Servers only.
• property ConnectionTimeout as %Integer(MAXVAL=60,MINVAL=2) [ InitialExpression = 5 ];
Number of seconds to wait for a connection to be established with the Render Server. The default is 5 s.
• property InitQueueSize as %Integer;
Initial size of rendering queue. If left blank (default) it will be the same as the number of threads; otherwise it must be an integer between 1 and the number of threads.
• property InitializationTimeout as %Integer(MAXVAL=300,MINVAL=2) [ InitialExpression = 5 ];
Number of seconds to wait for the Render Server to start up. The default is 5 s.
• property JVMArgs as %String(MAXLEN=32000);
Optional additional arguments to be passed to the Java Virtual Machine (JVM) to include when assembling the command to start the Render Server.
For example, you can specify system properties: Dsystemvar=value
or set the maximum heap size: Xmx256mb
and so on, as needed.
• property JavaHome as %String(MAXLEN=260);
Location of the JVM (similar to the JAVA_HOME environment variable). It is used to find the target JVM and assemble the command to start the Render Server.
If there is a default JVM on the machine that is usable without the need to specify its location, this setting may be left blank.
• property LogFile as %String(MAXLEN=260);
Fully qualified name of the log file. If a file name is not specified and logging is enabled, the file used is renderserver.log in the user's home directory (or the root directory if the home directory does not exist).
• property LogLevel as %String [ InitialExpression = "3",Required ];
Log level:
0 = no logging,
1 = log errors,
2 = log warnings,
3 = log info (default). The logs are created in the user's home directory. These logs have the name renderserver.log.n. renderserver.log.0 is the current log.
• property LogRotationCount as %Integer(MAXVAL=1000,MINVAL=1) [ InitialExpression = 100 ];
Number of log files accumulated before we recycle through log files. The default is 100.
• property MaxLogFileSize as %Integer(MAXVAL=2147483647,MINVAL=0) [ InitialExpression = 32000 ];
Maximum size, in bytes, for each log file. The default is 32000 bytes and the maximum allowed is 2147483647 bytes (2 GB). A value of 0 indicates no maximum defined.
• property MemoryThreshold as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Number of bytes that define memory usage threshold. Used for memory checking. The default is 0 (off).
• property Name as %String [ Required ];
Unique mnemonic identifier.
• property NumPingThreads as %Integer(MAXVAL=10,MINVAL=1) [ InitialExpression = 5 ];
Number of ping threads.
• property NumThreads as %Integer(MAXVAL=100,MINVAL=1) [ InitialExpression = 5 ];
Number of threads.
• property PingPort as %String [ Required ];
TCP port number for pinging the Render Server.
• property Port as %String [ Required ];
TCP port number for communication with the Render Server.
• property Server as %String [ InitialExpression = "127.0.0.1",Required ];
IP address or name of the machine where the JVM to be used by the Render Server is located. Currently not exposed to the UI as we only support local JVMs.
• property ServerType as %String [ InitialExpression = "0" ];
Type is "0" (or null/empty for backward compatibility) for Render Servers.
• property ThresholdPollingPeriod as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Miliseconds to wait to poll memory threshold. Used for memory checking. The default is 0 (off).

Methods

• classmethod CmdLine(pReportServer As %ZEN.Report.RenderServer, Output pCmd As %String, Output pCmdArgs) as %String
Generate the command line to run the script to start up the Render Server. Subclasses must override this method.
• classmethod GetState(port As %Integer, pingport As %Integer, timeout As %Integer = 5, Output reportedPort As %String, Output reportedType As %String) as %Integer
Determine the state of a Hot Server:
0 = Inactive and ready to be started;
1 = Active and responsive to PING;
2 = Unresponsive (one or both ports are in use but it is unresponsive to PING);
3 = Troubled (main port is not in use but it is responsive to PING);
4 = Error with port and/or ping port configuration;
5 = Ping returns mismatching main port and/or server type.
• classmethod LogReportInfo(time As %String = "0", endtime As %String = "0", port As %String = "", tSC As %String = "", info As %String = "", filename As %String = "")
• classmethod LogStart(time As %String = "0", name As %String = "", cmd As %String = "", return As %String)
• classmethod LogStartFailure(time As %String = "0", name As %String = "", state As %String = "", tSC As %String = "")
• classmethod LogStop(time As %String = "0", name As %String = "", tSC As %String = "")
• classmethod PortToName(pPort As %String, Output pName As %String) as %Status
Get the Zen Report Hot Server name given its port.
• classmethod Start(pName As %String, Output pPreviousState As %Integer, Output pReturn As %String, pVerbose As %Boolean = 0) as %Status
/ Startup a Zen Report Hot Server given its name.
• classmethod StartByPort(pPort As %String, Output pPreviousState As %Integer, Output pReturn As %String, pVerbose As %Boolean = 0) as %Status
Startup a Zen Report Hot Server given its main port.
• classmethod Stop(pName, pVerbose As %Boolean = 0) as %Status
Stop a Zen Report Hot Server given its name.
• classmethod TerminateAllRenderServers()
Invoked on system shutdown to terminate the external Hot JVM processes. Lookup active (registered) Zen Report Servers.
• classmethod TerminateAllRenderServers2()
Invoked on system shutdown to terminate the external Hot JVM processes. Lookup all Zen Report Server definitions.
• classmethod ZenReportServerExists(pName As %String, Output pType As %String) as %Boolean
Check if there exists a Zen Report Hot Server with a given name.

Queries

• query AllServers(name As %String = "")
Selects ID, Name, Port, PingPort, ServerType
SQL Query :
SELECT %ID, Name, Port, PingPort, ServerType
FROM RenderServer
Lookup all servers of all types
• query ByName(name As %String = "")
Selects ID, Name, Port, PingPort, ServerType, Renderer
SQL Query :
SELECT %ID, Name, Port, PingPort, ServerType, 'FOP'
FROM RenderServer
WHERE ServerType='0' OR ServerType='' OR ServerType IS NULL
ORDER BY Name
Lookup all Zen Report Render Servers.
• query ByServer()
Selects Name, Port, PingPort, Renderer, State, StateEx
Lookup Zen Report Render Servers, get basic data plus state. Subclasses must override query methods as needed.

Indices

•index (ID on Name) [IdKey];
Index for property Name.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.