class %Net.Remote.Gateway
extends %RegisteredObject
final parameter ADDTOCURRENTCLASSPATH = "YP";
final parameter CONNECT = "Y0";
Messages
final parameter DISCONNECT = "Y4";
final parameter EXCEPTIONRAISED = "Y5";
final parameter EXECUTEMETHOD = "Y1";
final parameter GENERATECLASSES = "Y2";
final parameter GETAVAILABLECLASSES = "YC";
final parameter GETOBJECT = "Y3";
final parameter GETTIMESTAMP = "YT";
parameter INPUTTIMEOUT = 30;
final parameter JAVASERVICE = "YK";
final parameter LOADCOSCLASS = "YL";
final parameter LOADJAVACLASS = "YZ";
final parameter LOADJAVACLASSSYNCH = "YW";
final parameter OBJECTCREATED = "Y9";
final parameter PING = "YQ";
final parameter SHUTDOWN = "Y6";
final parameter SUCCESS = "YY";
property AttemptReconnect
as %Boolean [ InitialExpression = 0 ];
property Closed
as %Boolean;
property ClosedProxies
as %String [ MultiDimensional ];
property CurrentDevice
as %String(TRUNCATE=1);
property CurrentDeviceStack
as %String(TRUNCATE=1) [ MultiDimensional ];
Used by GatewayLight to save current device multiple times in case of reentrancy
property DisableOutputRedirect
as %Boolean;
property ExternalLanguage
as %String;
property ExternalLanguageVersion
as %String;
property GatewayDevice
as %String(TRUNCATE=1);
property IsUsingSharedMemory
as %Boolean [ ReadOnly ];
property Namespace
as %String(TRUNCATE=1);
property OutputRedirectHandler
as %String;
property ProtocolVersion
as %Integer;
property ProxyObjectHolder
as %Library.RawString [ MultiDimensional ];
property SHMConnectString
as %String;
property SequenceNumber
as %Integer [ MultiDimensional ];
property connectClassPaths
as %ListOfDataTypes [ Transient ];
property connectParameters
as %String(MAXLEN="") [ Transient ];
property xdbcConnection
as %Boolean [ InitialExpression = 0 ];
final method %AddToCurrentClassPath(paths As %ListOfDataTypes, useProcessLoader As %Boolean = 0)
as %Status
Add to current classpath
classmethod %Benchmark(options As %String = "")
as %Numeric
classmethod %BenchmarkOneJob(index="", iterations=1000000, language="java", type="shm", action="echo", mode="zobjexport")
method %CallUtilityMethod(methodname, args...)
final method %ClassForName(className As %String)
as %Status
Calls Class.forName
final method %ClassForNameSynch(className As %String)
as %Status
method %ClearGatewayDevice()
final method %Connect(host As %String = "127.0.0.1", port As %Integer, namespace As %String = $namespace, timeout As %Numeric = 5, additionalClassPaths As %ListOfDataTypes = "", sslConfiguration As %String = "", Output isUsingSharedMemory, useSharedMemoryIfPossible As %Boolean, VerifySSLHostName As %Boolean = 0)
as %Status
Connect to an External Language Server.
To connect to an External Language Server by name, please pass empty string as first argument and Gateway name as second argument.
Please note if a ELS definition is secure, then connecting by ELS name is required.
Connecting using host and port only works for unsecure External Language Servers.
classmethod %CreateReverseGateway(device, protocol)
as %Net.Remote.Gateway
final classmethod %DeregisterSuperServer(name As %String)
final method %Disconnect()
as %Status
Close the connection
method %DumpProxyMaps()
final classmethod %ExpressImport(name As %String, port As %Integer, host As %String = "127.0.0.1", silent As %Boolean = 0, additionalClassPaths As %ListOfDataTypes = "", exclusions As %ListOfDataTypes = "")
as %ListOfDataTypes
Generate proxy classes for an External language module.
To connect to an External Language Server by name, please pass empty string as first argument and Gateway name as second argument.
Please note if a ELS definition is secure, then connecting by ELS name is required.
Connecting using host and port only works for unsecure External Language Servers.
final classmethod %FindServerByHostPort(host As %String, port As %Integer)
as %String
method %FlushClosedIRISObjects()
as %Boolean
method %GetAllClasses(jarFileName As %String, ByRef allClasses As %ListOfDataTypes, implements As %String = "")
as %Status
Use the implements parameter to limit the classes to those implementing a specific interface
The interface must be declared either in isc-gateway, or jarFileName JAR file
classmethod %GetContextGateway()
as %Net.Remote.Gateway
method %GetTimestamp(msgid As %Integer)
final method %Import(javaClass As %String, ByRef javaClasses As %ListOfDataTypes, additionalClassPaths As %ListOfDataTypes = "", exclusions As %ListOfDataTypes = "", verbose As %Boolean = 0)
as %Status
Creates all necessary proxy classes
method %IsUsingSharedMemory()
as %Boolean
Returns true if the connection is open and connected over shared memory, false otherwise.
final classmethod %LoadCOSClass(verbose As %Boolean = 0, currentDevice As %String = "", gatewayDevice As %String = "")
as %Status
method %LostConnectionCleanup()
as %Boolean
Used to check if still connected to the gateway and mark as closed if no TCP connection
method %OnNew()
as %Status
This callback method is invoked by the %New method to
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call.
When customizing this method, override the arguments with whatever variables and types you expect to receive from %New().
For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status
If instead of returning a %Status code this returns an oref and this oref is a subclass of the current
class then this oref will be the one returned to the caller of %New method.
final classmethod %Ping(host As %String = "127.0.0.1", port As %Integer, timeout As %Numeric = 5, reuseSocket As %Boolean = 0, ByRef gatewayDevice As %String = "", ByRef serverFullName As %String = "", sslConfiguration As %String = "")
as %Status
Check if an External Language Server still alive.
To connect to an External Language Server by name, please pass empty string as first argument and Gateway name as second argument
Please note if a ELS definition is secure, then connecting by ELS name is required.
Connecting using host and port only works for unsecure External Language Servers
When parameter reuseSocket is true (the default is false), the TCP socket will not be opened or closed and
it is up to the caller must ensure that the device is already opened.
method %PopGatewayDevice()
method %PushGatewayDevice()
classmethod %RecastClass(classname, verbose)
method %Reconnect()
as %Status
classmethod %RedirectOutput(data As %String = "")
method %RegUpdate()
final classmethod %RegisterSuperServer(name As %String, host As %String, port As %Integer = 0)
classmethod %ReleaseObjects(orefs)
as %String
final classmethod %RemoteService(host As %String, port As %Integer, serviceName As %String, arguments As %String, additionalClassPaths As %ListOfDataTypes = "")
as %String
classmethod %RetainObject(oref, gateway="")
final method %ServiceRequest(serviceName As %String, arguments As %String, ByRef response As %String)
as %Status
method %SetOutputRedirectHandler(classname, methodname)
classmethod %SetStatus(exception As %Exception.StatusException)
as %Status
final method %Shutdown(timeout=0)
as %Status
Shut down the Gateway
classmethod %SubscriptSortOrder(global, sub1, sub2)
as %String
final classmethod %TerminateAllSuperServers()
final classmethod %TerminateSuperServer(name As %String, namespace As %String, deregister As %Boolean)
classmethod %WriteOutput(data1 As %String = "", data2 As %String = "")
method ExternalLanguageGet()
This is a Get accessor method for the ExternalLanguage property.
method ExternalLanguageVersionGet()
This is a Get accessor method for the ExternalLanguageVersion property.
classmethod convertClassPaths(thelist, paths)
method getProductVersion()
method isAlive()
as %Boolean
final method sendOneShutdown(soft=0)
as %Status