Restrictions of the JCA local ECI resource adapter

Some API calls that are available on the CICS® Transaction Gateway ECI resource adapter are not supported by the CICS TS JCA local ECI resource adapter.

Restricted methods

These API calls are not supported by the JCA local ECI resource adapter
  • ECIInteractionSpec class methods setExecuteTimeout(), getExecuteTimeout(), setReplyLength(), getReplyLength(), setTranName(), getTranName()
  • CICSConnectionSpec class methods setPassword(), getPassword(), setUserid(), getUserid(), addPropertyChangeListener(), removePropertyChangeListener(), firePropertyChange
  • ECIConnection class method getLocalTransaction()
  • ECIChannelRecord class method values()
  • CICSUserInputException
  • The constructor ECIConnectionSpec(String username, String password). ECIConnectionSpec() has been added as an alternative
  • The constructor ECIInteractionSpec(int verb, int timeout, String prog, int commLen, int repLen). ECIInteractionSpec(int verb, String prog, int commLen) has been added as an alternative

These calls are not supported when using the IBM® CICS SDK for Java™ to develop web applications. In order to allow portability of existing ECI JCA applications into a Liberty JVM server these methods will continue to function but any settings of transaction, timeout, reply length and transaction name will have no effect. Setting the transaction ID through ECIInteractionSpec.setTPNName() only uses the specified transaction when linking to a remote program (DPL). Linking to a local program will continue to use the current transaction.

Non-managed environments

JCA local ECI only supports managed connection factories (those created via the server.xml configuration). Non-managed connections created using instances of a ManagedConnectionFactory, are not supported.

Exception handling

Exception handling may differ slightly between the CICS Transaction Gateway ECI resource adapter and the CICS TS JCA local ECI resource adapter. Any CICS errors will propagate to the ECI local resource adapter as a CICSException, as they do with the JCICS API. The resource adapter will wrap these exceptions in a ResourceException. To help identify the CICS fault, the CICSException will be set as the cause of the Exception and can be accessed using the getCause() method of java.lang.Throwable.

Asynchronous calls

Asynchronous calls are not fully asynchronous in the JCA local ECI resource adapter. A call using the SYNC_SEND interaction verb will block until the program completes, then the results can be gathered via a subsequent call using the SYNC_RECEIVE interaction verb, using the same ECIInteraction.

Unsupported CICS Transaction Gateway functions

These CICS Transaction Gateway functions are not supported in the CICS TS local ECI resource adapter.
  • Remote connections to a CICS Transaction Gateway server
  • Identity propagation
  • Cross component trace (XCT)
  • Request monitoring user exits
  • Trace from the resource adapter is controlled by CICS TS, use of the CICSLogTraceLevels is not supported.