Class DynamicRfcConnection

  • All Implemented Interfaces:
    AdaptrisComponent, AdaptrisConnection, ComponentLifecycle, ComponentLifecycleExtension, com.adaptris.core.licensing.LicensedComponent, RfcConnection, StateManagedComponent

    @ComponentProfile(summary="Connection type for supporting dynamic SAP JCO3 RFC connections",
                      tag="connections,sap,jco")
    public class DynamicRfcConnection
    extends JcoConnectionBase
    implements RfcConnection
    Class for managing RFC JCO connections.

    This class indirectly provides a com.sap.conn.jco.ext.DestinationDataProvider for the underlying RFC Connection by interrogating the associated AdaptrisMessage for metadata that can be used for configuring a connection. This implicitly removes the previous connection associated with getConnectionId() from the underlying com.sap.conn.jco.ext.DestinationDataProvider before attempting to construct a new one.

    Metadata keys are taken as-is; no verification is done. The following metadata keys are used if they exist in metadata; the table keys and descriptions are copied directly from the SAP Java Connection API documentation (from com.sap.conn.jco.ext.DestinationDataProvider).

    Note that this implementation may only be used as part of an RfcServiceList. Use as part of a channel will lead to undefined behaviour.

    Key value Description
    jco.client.client SAP client
    jco.client.user Logon user
    jco.client.alias_user Logon user alias
    jco.client.passwd Logon password
    jco.client.lang Logon language
    jco.client.saprouter SAP router string to use for a system protected by a firewall
    jco.client.sysnr SAP system number
    jco.client.ashost SAP application server
    jco.client.mshost SAP message server
    jco.client.msserv optional: SAP message server port to use instead of the default sapms<sysid>
    jco.client.gwhost Gateway host
    jco.client.gwserv Gateway service
    jco.client.r3name System ID of the SAP system
    jco.client.group Group of SAP application servers
    jco.client.tpname Program ID of external server program
    jco.client.tphost Host of external server program
    jco.client.type Type of remote host 2 = R/2, 3 = R/3, E = External
    jco.client.trace Enable/disable RFC trace (0 or 1)
    jco.client.cpic_trace Enable/disable CPIC trace (-1 [take over environment value], 0 no trace, 1,2,3 different amount of trace)
    jco.client.use_sapgui Start a SAP GUI and associate with the connection. (0 - do not start [default], 1 start GUI, 2 start GUI and hide if not used)
    jco.client.codepage Initial codepage in SAP notation
    jco.client.getsso2 Get/Don't get a SSO ticket after logon (1 or 0)
    jco.client.mysapsso2 Use the specified SAP Cookie Version 2 as logon ticket
    jco.client.x509cert Use the specified X509 certificate as logon ticket
    jco.client.lcheck Enable/Disable logon check at open time, 1 (enable) or 0 (disable)
    jco.client.snc_mode Secure network connection (SNC) mode, 0 (off) or 1 (on)
    jco.client.snc_partnername SNC partner, e.g. p:CN=R3, O=XYZ-INC, C=EN
    jco.client.snc_qop SNC level of security, 1 to 9
    jco.client.snc_myname SNC name. Overrides default SNC partner
    jco.client.snc_lib Path to library which provides SNC service
    jco.client.dsr Enable/Disable dsr support (0 or 1)
    jco.destination.peak_limit Maximum number of active connections that can be created for a destination simultaneously
    jco.destination.pool_capacity Maximum number of idle connections kept open by the destination. A value of 0 has the effect that there is no connection pooling.
    jco.destination.expiration_time Time in ms after that the connections hold by the internal pool can be closed
    jco.destination.expiration_check_period Interval in ms with which the timeout checker thread checks the connections in the pool for expiration
    jco.destination.max_get_client_time Max time in ms to wait for a connection, if the max allowed number of connections is allocated by the application
    jco.destination.repository_destination Specifies which destination should be used as repository, i.e. use this destination's repository
    jco.destination.repository.user Optional: If repository destination is not set, and this property is set, it will be used as user for repository calls. This allows using a different user for repository lookups
    jco.destination.repository.passwd The password for a repository user. Mandatory, if a repository user should be used.
    jco.destination.repository.snc_mode Optional: If SNC is used for this destination, it is possible to turn it off for repository connections, if this property is set to 0. Defaults to the value of jco.client.snc_mode

    In the adapter configuration file this class is aliased as sapjco3-dynamic-rfc-connection which is the preferred alternative to the fully qualified classname when building your configuration.

    License Required: ENTERPRISE