public final class ECIInteractionSpec
extends java.lang.Object
implements javax.resource.cci.InteractionSpec
Constructor and Description |
---|
ECIInteractionSpec()
Default constructor.
|
ECIInteractionSpec(int verb,
java.lang.String prog)
Simple constructor.
|
ECIInteractionSpec(int verb,
java.lang.String prog,
int timeout,
int commLen,
int repLen)
Complete constructor allows specification of all properties.
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Add a listener to those that are informed when a
bound property is changed.
|
int |
getCommareaLength()
Accessor for commareaLength.
|
int |
getExecuteTimeout()
Accessor for executeTimeout.
|
java.lang.String |
getFunctionName()
Accessor for function name.
|
int |
getInteractionVerb()
Accessor for interaction verb.
|
int |
getReplyLength()
Accessor for replyLength.
|
java.lang.String |
getTPNName()
Accessor for TPNName.
|
java.lang.String |
getTranName()
Accessor for tranName.
|
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove a registered listener from the list.
|
void |
setCommareaLength(int length)
Setter for commareaLength.
|
void |
setExecuteTimeout(int time)
Setter for executeTimeout.
|
void |
setFunctionName(java.lang.String name)
Setter for function name.
|
void |
setInteractionVerb(int verb)
Setter for interaction verb.
|
void |
setReplyLength(int length)
Setter for replyLength.
|
void |
setTPNName(java.lang.String newTPNName)
Setter for TPNName.
|
void |
setTranName(java.lang.String newTranName)
Setter for tranName.
|
java.lang.String |
toString()
Provides a string representation of this object.
|
public ECIInteractionSpec(int verb, java.lang.String prog, int timeout, int commLen, int repLen) throws javax.resource.ResourceException
Note: The value specified for timeout will be rounded down to the nearest second except for values less than one second which will have a timeout of one second. A value less than or equal to zero will result in no timeout.
verb
- The interaction verb to use.prog
- The name of the CICS program to call.timeout
- The interaction timeout value in milliseconds.commLen
- The length of the COMMAREA being passed to CICS.repLen
- The length of reply wanted from CICS.javax.resource.ResourceException
- If there is a problem creating the InteractionSpec.public ECIInteractionSpec(int verb, java.lang.String prog) throws javax.resource.ResourceException
verb
- The InteractionVerb to useprog
- The name of the CICS program to calljavax.resource.ResourceException
- If there is a problem creating the InteractionSpec.public ECIInteractionSpec()
public java.lang.String toString()
toString
in class java.lang.Object
public int getInteractionVerb()
The current interaction verb e.g. SYNC_SEND, SYNC_RECEIVE or SYNC_SEND_RECEIVE constants as defined on the ECIInteractionSpec.
public java.lang.String getFunctionName()
When SYNC_SEND or SYNC_SEND_RECEIVE is specified in the interaction verb property, FunctionName needs to contain the name of the program to execute on CICS.
public int getExecuteTimeout()
This property holds the timeout value for interactions with CICS. Possible values include:
ExecuteTimeout is not used on the z/OS operating system with the EXCI protocol.
public int getCommareaLength()
The length of the COMMAREA being passed to CICS inside your input record. If this is not supplied a default is used:
public int getReplyLength()
The length of the datastream to be returned back from the Gateway daemon to the JCA application. Setting the replyLength property can reduce the data transmitted over the network if the data returned by CICS is less than the full COMMAREA size, and you know the size of the data in advance. The JCA application will still receive a full COMMAREA of the size specified in commareaLength; only the amount of data sent over the network is reduced. This method is equivalent to the getCommareaInboundLength() method available for the ECIRequest class.
If replyLength is not set, the CICS Transaction Gateway will automatically strip trailing null characters from the COMMAREA sent from the Gateway daemon to the JCA application, without needing to know the size of the data in advance. See the CICS Transaction Gateway Information Center for details on null stripping.
public java.lang.String getTranName()
The called program runs under the default mirror transaction, but is linked to under the tranName transaction name. This name is available to the called program in the exec interface block (EIB) for querying the transaction ID. Setting the tranName in the ECIInteractionSpec will override the value as set at deployment (or on the ManagedConnectionFactory, if non-managed).
public java.lang.String getTPNName()
This is the name of the CICS mirror transaction that the called program will run under. This option is like the TRANSID option on an EXEC CICS LINK command. A transaction definition in CICS for this TRANSID must point to the DFHMIRS program. Note that TPNName takes precedence if both TranName and TPNName are specified. Setting the TPNName in the ECIInteractionSpec will override the value as set at deployment (or on the ManagedConnectionFactory, if non-managed).
public void setInteractionVerb(int verb) throws javax.resource.ResourceException
The current interaction verb e.g. SYNC_SEND, SYNC_RECEIVE or SYNC_SEND_RECEIVE constants as defined on the ECIInteractionSpec.
verb
- The interaction verb for the InteractionSpec.javax.resource.ResourceException
- An incorrect interaction verb is specified.public void setFunctionName(java.lang.String name)
When SYNC_SEND or SYNC_SEND_RECEIVE is specified in the interaction verb property, function name needs to contain the name of the program to execute on CICS.
name
- The name of the program to execute on CICS.public void setExecuteTimeout(int time) throws javax.resource.ResourceException
Setter for executeTimeout.
This property holds the timeout value for interactions with CICS. Possible values include:
The value specified will be rounded down to the nearest second except for values less than one second which will have a timeout of one second.
ExecuteTimeout is not used on the z/OS operating system with the EXCI protocol.
time
- The timeout for the interaction with CICS.javax.resource.ResourceException
- If a negative timeout value is specified.public void setCommareaLength(int length)
The length of the COMMAREA being passed to CICS inside your input record. If this is not supplied a default is used:
Application developers are advised to use a maximum size of 32500 bytes, as this is guaranteed to be flowed successfully across all protocols. COMMAREA sizes greater than this may generate an ECI_ERR_INVALID_DATA_LENGTH return code.
length
- The length of the COMMAREA.public void setReplyLength(int length)
The length of the datastream to be returned back from the Gateway daemon to the JCA application. Use of this method can reduce the data transmitted over the network if the data returned by CICS is less than the full COMMAREA size, and you know the size of the data in advance. The JCA application will still receive a full COMMAREA of the size specified in commareaLength; only the amount of data sent over the network is reduced. This method is equivalent to the setCommareaInboundLength() method available for the ECIRequest class.
If setReplyLength is not set, the CICS Transaction Gateway will automatically strip trailing null characters from the COMMAREA sent from the Gateway daemon to the JCA application, without needing to know the size of the data in advance. See the CICS Transaction Gateway Information Center for details on null stripping.
length
- The length of the returned COMMAREA.public void setTranName(java.lang.String newTranName)
The called program runs under the default mirror transaction, but is linked to under the tranName transaction name. This name is available to the called program in the exec interface block (EIB) for querying the transaction ID. Setting the tranName in the ECIInteractionSpec will override the value as set at deployment (or on the ManagedConnectionFactory, if non-managed).
newTranName
- The tranName for the interaction.public void setTPNName(java.lang.String newTPNName)
This is the name of the CICS mirror transaction that the called program will run under. This option is like the TRANSID option on an EXEC CICS LINK command. A transaction definition in CICS for this TRANSID must point to the DFHMIRS program. Note that TPNName takes precedence if both TranName and TPNName are specified. Setting the TPNName in the ECIInteractionSpec will override the value as set at deployment (or on the ManagedConnectionFactory, if non-managed).
If the interaction is performed within a transaction scope, this field has a meaning only for the first interaction within the transaction. Subsequent interactions within the same transacation will use the mirror transaction specified on the first interaction.
newTPNName
- The name of the mirror transaction for the interaction.public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)