This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Home > Class Reference > ENSLIB namespace > EnsLib.JavaGateway.AbstractOperation

EnsLib.JavaGateway.AbstractOperation

abstract class EnsLib.JavaGateway.AbstractOperation extends Ens.BusinessOperation

An abstract business operation that can be used as a base class for Business Operation classes that invoke Java methods via the Java Gateway. Implementing message handler methods that invoke functions on the Java Gateway is the responsibility of subclasses. No adapter is needed but standard Java Gateway proxy objects should be generated and invoked. The methods of this class simply manage the connection to the Java Gateway in a fault tolerant way.

Property Inventory

Method Inventory

Parameters

parameter SETTINGS = Address:Basic,Port:Basic,AdditionalPaths,ConnectTimeout,-ArchiveIO;
Configurable settings for this operation.

Properties

property AdditionalPaths as %String (MAXLEN = 32000);
Optional comma-separated list of additional files containing classes you are using via the Java Gateway to be added to the ClassPath already specified in the service if any. Each path element should correspond to individual entry, fully qualified and properly quoted. Please note the delimiter here should be a comma, instead of the platform dependent delimiter used for ClassPath in class EnsLib.JavaGateway.Service.
Example: "C:\JavaWork\test1.jar,C:\JavaTemp\test2.jar".
Property methods: AdditionalPathsDisplayToLogical(), AdditionalPathsGet(), AdditionalPathsIsValid(), AdditionalPathsLogicalToDisplay(), AdditionalPathsLogicalToOdbc(), AdditionalPathsNormalize(), AdditionalPathsSet()
property Address as %String [ InitialExpression = "127.0.0.1" ];
IP address or name of the machine where the Java Gateway Server is located.
Property methods: AddressDisplayToLogical(), AddressGet(), AddressIsValid(), AddressLogicalToDisplay(), AddressLogicalToOdbc(), AddressNormalize(), AddressSet()
property ConnectTimeout as %Numeric (MINVAL = 0) [ InitialExpression = 5 ];
Timeout in seconds to connect to the Java Gateway Server from Ensemble.
Property methods: ConnectTimeoutDisplayToLogical(), ConnectTimeoutGet(), ConnectTimeoutIsValid(), ConnectTimeoutLogicalToDisplay(), ConnectTimeoutNormalize(), ConnectTimeoutSet()
property Port as %String [ InitialExpression = "55555" ];
TCP port number for communication between the Java Gateway Server and the proxy classes in Ensemble.
Property methods: PortDisplayToLogical(), PortGet(), PortIsValid(), PortLogicalToDisplay(), PortLogicalToOdbc(), PortNormalize(), PortSet()

Methods

method CloseConnection() as %Status
Close the connection from the business operation to the Gateway Server.
method ConnectJG(ByRef pGateway As EnsLib.JavaGateway.JavaGateway, pTimeout As %Numeric) as %Status
This method is invoked from GetConnection() and will either start a new connection or attempt to restore a broken connection. It can be used in case there is a failure during communication with the Java Gateway Server. A status is returned indicating success or failure of the [re]connection.
method GetConnection(ByRef pGateway As EnsLib.JavaGateway.JavaGateway, pTimeout As %Numeric) as %Status
Ensure we have a valid Java Gateway connection. If not, try to recover. This method returns a private gateway connection object to be used with the proxy classes.
Example:
     Set tSC = ..GetConnection(.tGateway) 
     If $$$ISOK(tSC) { 
        // Start using the Java Gateway connection object tGateway 
        ... 
     } 
  
method OnInit() as %Status
This user callback method is called just after %OnNew() to initialize the connection among other things. If you need to override this code, invoke the method in the superclass or add to the original code.
method OnTearDown() as %Status
This user callback method is called just before %OnClose() to disconnect from the .Java Gateway Server. If you need to override this code, invoke the method in the superclass or add to the original code.

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new window