A generic outbound adapter class intended for use where a Java proxy class will be constructed and InterSystems IRIS will communicate with it by sending and retrieving message objects or data streams in a call-and-response fashion. This contrasts with the intended use of the JavaGateway AbstractOperation, which is intended to be subclassed with an adapterless Operation that invokes standard Java APIs directly. This adapter can be used directly without subclassing if the Java proxy class implements the following methods: .Connect(pJGClientConnectSpec,pTimeout,pInbound) .Disconnect(pInbound) .IsConnected(pInbound) .getErrorText() [returns empty string if no error on previous method call] .ReceiveMessage(pTimeout) [inbound only; pMsgIn return needs not be populated if timed out] .SendResponse(pMsgOut) [inbound only, optional-needed if OnProcessInput will return an object] .SendMessage(pMsgOut,pGetReply,pResponseTimeout) [outbound only; pMsgIn return needs not be populated if no responses are anticipated] If a Java proxy cannot be constructed with this interface then you should subclass this adapter and the subclass can optionally override the following methods and call the Java proxy in whatever manner it must. .OnConnectProxy(pTimeout As %Numeric, pInbound As %Boolean) As %Status .OnDisconnectProxy(pInbound As %Boolean) As %Status .OnIsConnectedProxy(pInbound As %Boolean) As %Status .OnReceiveMessage(Output pMsgIn As %RegisteredObject) As %Status [inbound only] .OnSendResponse(pMsgOut As %RegisteredObject) As %Status [inbound only] .OnSendMessage(pMsgOut As %RegisteredObject, Output pMsgIn As %RegisteredObject) As %Status [outbound only]
If true, wait to read a reply message back before returning. property JGService as %String(MAXLEN=128) [ Required ];
Config Name of the Java Gateway service controlling the Java Gateway server this Operation will use. property ResponseTimeout as %Numeric(MINVAL=-1) [ InitialExpression = 30 ];
Number of seconds to wait for a response to begin arriving back from the remote system after sending a request. Setting the timeout to -1 means wait forever.