Home > Class Reference > %SYS namespace > %Net.Remote.ObjectGateway

%Net.Remote.ObjectGateway

persistent class %Net.Remote.ObjectGateway extends %Library.Persistent

SQL Table Name: %Net_Remote.ObjectGateway

Object Gateway Server definitions.

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties (Including Private)

property AllowedIPAddresses as %String [ InitialExpression = "127.0.0.1" ];
Which IP address, among the several IP addresses that the machine has, that allows incoming connections. The default is 127.0.0.1. Specify 0.0.0.0 to listen on all IP addresses local to the machine (127.0.0.1, VPN address, etc.). You can also specify a single existing local IP address to restrict the listener to that IP address.
(This property applies only to .NET Gateways.)
Property methods: AllowedIPAddressesDisplayToLogical(), AllowedIPAddressesGet(), AllowedIPAddressesGetStored(), AllowedIPAddressesIsValid(), AllowedIPAddressesLogicalToDisplay(), AllowedIPAddressesLogicalToOdbc(), AllowedIPAddressesNormalize(), AllowedIPAddressesSet()
property ClassPath as %String (MAXLEN = 32000);
CLASSPATH containing the files required to be passed as an argument when starting the JVM. The user should typically provide here the files containing the classes used via the Java Gateway. There is no need to include InterSystems' .jar files used by the Java Gateway. We assume that the user has properly quoted the classpath and supplied the correct separators for the platform in case of multiple files.
(This property applies only to Java Gateways.)
Property methods: ClassPathDisplayToLogical(), ClassPathGet(), ClassPathGetStored(), ClassPathIsValid(), ClassPathLogicalToDisplay(), ClassPathLogicalToOdbc(), ClassPathNormalize(), ClassPathSet()
property ConnectionTimeout as %Integer (MAXVAL = 300, MINVAL = 2) [ InitialExpression = 5 ];
Number of seconds to wait for a connection to be established with the Gateway Server.
Property methods: ConnectionTimeoutDisplayToLogical(), ConnectionTimeoutGet(), ConnectionTimeoutGetStored(), ConnectionTimeoutIsValid(), ConnectionTimeoutLogicalToDisplay(), ConnectionTimeoutNormalize(), ConnectionTimeoutSet()
property DotNetCorePath as %String (MAXLEN = 1023);
Location of the 'dotnet' executable to use with a .NET Core Gateway. This is required if 'dotnet' is not on the system PATH. It is used to find the target executable and assemble the command to start the Gateway on a local machine.

This will default to 'C:\Program Files\dotnet' on Windows systems.
(This property applies only to .NET Gateways)
Property methods: DotNetCorePathDisplayToLogical(), DotNetCorePathGet(), DotNetCorePathGetStored(), DotNetCorePathIsValid(), DotNetCorePathLogicalToDisplay(), DotNetCorePathLogicalToOdbc(), DotNetCorePathNormalize(), DotNetCorePathSet()
property DotNetVersion as %String (DISPLAYLIST = ",4.5,4.0,2.0,Core2.1", VALUELIST = ",4.5,4.0,2.0,Core2.1") [ InitialExpression = "4.5" ];
Version of .NET used to select the directory for the intended Gateway server executable. The default is version 2.0.
(This property applies only to .NET Gateways.)
Property methods: DotNetVersionDisplayToLogical(), DotNetVersionGet(), DotNetVersionGetStored(), DotNetVersionIsValid(), DotNetVersionLogicalToDisplay(), DotNetVersionLogicalToOdbc(), DotNetVersionNormalize(), DotNetVersionSet()
property Exec64 as %Boolean [ InitialExpression = 1 ];
On 64-bit platforms, indicates if the Object Gateway server is to be executed as 32-bit (default) or 64-bit.
(This property applies only to .NET Gateways and to 64-bit platforms.)
Property methods: Exec64DisplayToLogical(), Exec64Get(), Exec64GetStored(), Exec64IsValid(), Exec64LogicalToDisplay(), Exec64Normalize(), Exec64Set()
property FilePath as %String (MAXLEN = 1023);
Location of the Gateway Server executable. It is used to find the target executable and assemble the command to start the Gateway on a local machine.
If this setting is not specified, the default directory used is ...\dev\dotnet\bin\ under the instance's installation directory.
(This property applies only to .NET Gateways.)
Property methods: FilePathDisplayToLogical(), FilePathGet(), FilePathGetStored(), FilePathIsValid(), FilePathLogicalToDisplay(), FilePathLogicalToOdbc(), FilePathNormalize(), FilePathSet()
property HeartbeatFailureAction as %String (DISPLAYLIST = ",None,Restart,Alert,Restart and Alert", VALUELIST = ",N,R,A,RA") [ InitialExpression = "R" ];
When heartbeat is enabled, this defines what action(s) to take if the Gateway Server goes into failure state. Setting it to Restart (default) will cause the Gateway Server to be restarted. Setting it to Alert will generate an Alert entry in the Interoperability event log -- this option is independent of the Alert on Error setting.
Note: If Server points to a remote system, this feature can't be set to restart the Server.
See also properties HeartbeatInterval, HeartbeatFailureTimeout and HeartbeatFailureRetry.
Property methods: HeartbeatFailureActionDisplayToLogical(), HeartbeatFailureActionGet(), HeartbeatFailureActionGetStored(), HeartbeatFailureActionIsValid(), HeartbeatFailureActionLogicalToDisplay(), HeartbeatFailureActionLogicalToOdbc(), HeartbeatFailureActionNormalize(), HeartbeatFailureActionSet()
property HeartbeatFailureRetry as %Integer (MAXVAL = 86400, MINVAL = 0) [ InitialExpression = 300 ];
When heartbeat is enabled, in case the Gateway Server goes into failure state, and stays in failure state, this setting defines how much time to wait before retrying the HeartbeatFailureAction. The default value is 300 seconds or 5 minutes. The maximum value is 86400 seconds or 1 day. A value of 0 disables this retry, meaning that once there is a failure that can't be immediately recovered, there won't be automatic attempts to recovery.
See also properties HeartbeatInterval, HeartbeatFailureTimeout and HeartbeatFailureAction.
Property methods: HeartbeatFailureRetryDisplayToLogical(), HeartbeatFailureRetryGet(), HeartbeatFailureRetryGetStored(), HeartbeatFailureRetryIsValid(), HeartbeatFailureRetryLogicalToDisplay(), HeartbeatFailureRetryNormalize(), HeartbeatFailureRetrySet()
property HeartbeatFailureTimeout as %Integer (MAXVAL = 86400, MINVAL = 0) [ InitialExpression = 30 ];
When heartbeat is enabled, this is the number of seconds without responding to the heartbeat, to consider that the Gateway Server is in failure state. If this value is smaller than property HeartbeatInterval, it will be considered in failure state every time the Gateway communication check fails. The default is 30 seconds. The maximum value is 86400 seconds or 1 day.
See also properties HeartbeatInterval, HeartbeatFailureAction and HeartbeatFailureRetry.
Property methods: HeartbeatFailureTimeoutDisplayToLogical(), HeartbeatFailureTimeoutGet(), HeartbeatFailureTimeoutGetStored(), HeartbeatFailureTimeoutIsValid(), HeartbeatFailureTimeoutLogicalToDisplay(), HeartbeatFailureTimeoutNormalize(), HeartbeatFailureTimeoutSet()
property HeartbeatInterval as %Integer (MAXVAL = 3600, MINVAL = 0) [ InitialExpression = 10 ];
A non-zero value for this property enables heartbeat, which is periodic communication with the Gateway Server to check if it's active. The default is 10 seconds. When enabled, the minimum value is 5 seconds and the maximum value is 3600 seconds or 1 hour.
When heartbeat is disabled the monitor process won't be started and the related settings are ignored.
See also properties HeartbeatFailureTimeout, HeartbeatFailureAction and HeartbeatFailureRetry.
Property methods: HeartbeatIntervalDisplayToLogical(), HeartbeatIntervalGet(), HeartbeatIntervalGetStored(), HeartbeatIntervalIsValid(), HeartbeatIntervalLogicalToDisplay(), HeartbeatIntervalNormalize(), HeartbeatIntervalSet()
property InitializationTimeout as %Integer (MAXVAL = 300, MINVAL = 2) [ InitialExpression = 5 ];
Number of seconds to wait for a response during initialization of the Gateway Server.
Property methods: InitializationTimeoutDisplayToLogical(), InitializationTimeoutGet(), InitializationTimeoutGetStored(), InitializationTimeoutIsValid(), InitializationTimeoutLogicalToDisplay(), InitializationTimeoutNormalize(), InitializationTimeoutSet()
property JVMArgs as %String (MAXLEN = 32000);
Optional arguments to be passed to the Java Virtual Machine (JVM) to include when assembling the command to start the Gateway.
For example, you can specify system properties: Dsystemvar=value
or set the maximum heap size: Xmx256mb
and so on, as needed.
(This property applies only to Java Gateways.)
Property methods: JVMArgsDisplayToLogical(), JVMArgsGet(), JVMArgsGetStored(), JVMArgsIsValid(), JVMArgsLogicalToDisplay(), JVMArgsLogicalToOdbc(), JVMArgsNormalize(), JVMArgsSet()
property JavaHome as %String (MAXLEN = 1023);
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 Gateway.
Note: 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.
(This property applies only to Java Gateways.)
Property methods: JavaHomeDisplayToLogical(), JavaHomeGet(), JavaHomeGetStored(), JavaHomeIsValid(), JavaHomeLogicalToDisplay(), JavaHomeLogicalToOdbc(), JavaHomeNormalize(), JavaHomeSet()
property LogFile as %String (MAXLEN = 1023);
Fully qualified name of a file to log all communication between InterSystems IRIS and the Gateway Server. Usually this setting should be left blank, and used only for trouble-shooting.
Property methods: LogFileDisplayToLogical(), LogFileGet(), LogFileGetStored(), LogFileIsValid(), LogFileLogicalToDisplay(), LogFileLogicalToOdbc(), LogFileNormalize(), LogFileSet()
property MainClassName as %String [ InitialExpression = $$$javaGatewayClass ];
Name of the Java class that will be specified in the command to launch the gateway. This is the class whose main method launches the server.
Property methods: MainClassNameDisplayToLogical(), MainClassNameGet(), MainClassNameGetStored(), MainClassNameIsValid(), MainClassNameLogicalToDisplay(), MainClassNameLogicalToOdbc(), MainClassNameNormalize(), MainClassNameSet()
property Name as %String [ Required ];
Property methods: NameDisplayToLogical(), NameGet(), NameGetStored(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
property Port as %Integer (MAXVAL = 65535, MINVAL = 1) [ Required ];
TCP port number for communication between the Java Gateway Server and the proxy classes in InterSystems IRIS.
Property methods: PortDisplayToLogical(), PortGet(), PortGetStored(), PortIsValid(), PortLogicalToDisplay(), PortNormalize(), PortSet()
property PyOptions as %String (MAXLEN = 32000);
Optional Python options to be passed to the Python interpreter to include when assembling the command to start the Gateway.

(This property applies only to Python Gateways.)
Property methods: PyOptionsDisplayToLogical(), PyOptionsGet(), PyOptionsGetStored(), PyOptionsIsValid(), PyOptionsLogicalToDisplay(), PyOptionsLogicalToOdbc(), PyOptionsNormalize(), PyOptionsSet()
property PythonPath as %String (MAXLEN = 1023);
Location of the Python Executable Path. It is used to find the target Python interpreter and get the command to start the Gateway.
Note: If there is a default Python interpreter on the machine that is usable without the need to specify its location, this setting may be left blank.
(This property applies only to Python Gateways.)
Property methods: PythonPathDisplayToLogical(), PythonPathGet(), PythonPathGetStored(), PythonPathIsValid(), PythonPathLogicalToDisplay(), PythonPathLogicalToOdbc(), PythonPathNormalize(), PythonPathSet()
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 Gateway Server is located.
Property methods: ServerDisplayToLogical(), ServerGet(), ServerGetStored(), ServerIsValid(), ServerLogicalToDisplay(), ServerLogicalToOdbc(), ServerNormalize(), ServerSet()
property Type as %String (DISPLAYLIST = ",Java,.NET,Python", VALUELIST = ",1,2,3") [ Required ];
Type of the Object Gateway. It can have one of the following values:
Type = 1 for Object Gateway for Java
Type = 2 for Object Gateway for .NET
Property methods: TypeDisplayToLogical(), TypeGet(), TypeGetStored(), TypeIsValid(), TypeLogicalToDisplay(), TypeLogicalToOdbc(), TypeNormalize(), TypeSet()
property UsePassphrase as %Boolean [ InitialExpression = 0 ];
If Gateway is to be started requiring a passphrase for connection
Property methods: UsePassphraseDisplayToLogical(), UsePassphraseGet(), UsePassphraseGetStored(), UsePassphraseIsValid(), UsePassphraseLogicalToDisplay(), UsePassphraseNormalize(), UsePassphraseSet()
property passphraseList as %String [ Transient ];
Property methods: passphraseListDisplayToLogical(), passphraseListGet(), passphraseListIsValid(), passphraseListLogicalToDisplay(), passphraseListLogicalToOdbc(), passphraseListNormalize(), passphraseListSet()

Methods (Including Private)

private method %OnAddToSaveSet(depth As %Integer = 3, insert As %Integer = 0, callcount As %Integer = 0) as %Status [ Language = objectscript ]
This callback method is invoked when the current object is added to the SaveSet, either because %Save() was invoked on this object or on an object that references this object. %OnAddToSaveSet can modify the current object. It can also add other objects to the current SaveSet by invoking %AddToSaveSet or remove objects by calling %RemoveFromSaveSet.

If this method returns an error status then %Save() will fail and the transaction will be rolled back.

classmethod GatewayExists(name As %String) as %Boolean [ Language = objectscript ]
Check if there exists a Gateway with a given name.

Queries

query ByGateway()
Selects Name, Type, Server, Port, State, StateExt
Lookup all Gateways; include current state.
query ByName(name As %String = "")
Selects ID, Name, Type, Server, Port, Interface
SQL Query:
SELECT %ID, Name, %EXTERNAL(Type), Server, Port, AllowedIPAddresses AS Interface FROM ObjectGateway WHERE Name %STARTSWITH :name ORDER BY Name
Lookup by Gateway name.

Indexes

index (ID on Name) [IdKey, Type = key];
Index for property Name
Index methods: IDCheck(), IDDelete(), IDExists(), IDOpen(), IDSQLCheckUnique(), IDSQLExists(), IDSQLFindPKeyByConstraint(), IDSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods (Including Private)

Storage

Storage Model: Storage (%Net.Remote.ObjectGateway)

^%SYS("gateway","DEFINITION","DATA")(ID)
=
%%CLASSNAME
Type
Name
Server
Port
LogFile
InitializationTimeout
ConnectionTimeout
HeartbeatInterval
HeartbeatFailureTimeout
HeartbeatFailureAction
HeartbeatFailureRetry
JavaHome
JDKVersion
ClassPath
JVMArgs
DotNetServer
AllowedIPAddresses
FilePath
Mode64Bit
Exec64
DotNetVersion
UsePassphrase
MainClassName
DotNetCorePath
PythonPath
PyOptions
FeedbackOpens in a new window