@ComponentProfile(summary="Execute a SAP RFC", tag="producer,sap,rfc", recommended={ConfiguredRfcConnection.class,DynamicRfcConnection.class}) public class RfcProducer extends RequestReplyProducerImp implements com.adaptris.core.licensing.LicensedComponent
Implementation of AdaptrisMessageProducer
based on SAP JCO3 libraries.
In order to use this producer you will have previously downloaded, installed and configured SAP Java Connector. The jar files should be copied into the adapter's lib directory, but any native libraries should be configured as per the SAP Java Connector documentation.
The following behavioural rules apply :
ConfiguredRfcConnection
unless there is a JCoDestination
available in object metadata stored under the key RfcConstants.OBJ_METADATA_DESTINATION_KEY
in which case, the associated
connection is ignored.ProduceDestination
will be used as the RFC Function nameConfiguredRfcConnection
,
RfcServiceList
In the adapter configuration file this class is aliased as sapjco3-rfc-producer which is the preferred alternative to the fully qualified classname when building your configuration.
License Required: ENTERPRISE
log
CONFIRMATION_ID_KEY
Constructor and Description |
---|
RfcProducer()
Default constructor.
|
RfcProducer(ProduceDestination d) |
RfcProducer(ProduceDestination d,
java.util.List<ImportParameter> importParms,
java.util.List<ExportParameter> exportParms) |
Modifier and Type | Method and Description |
---|---|
void |
addExportParameter(ExportParameter p)
Add an export parameter to the list of export parameters used to make the
RFC Call.
|
void |
addImportParameter(ImportParameter p)
Add an import parameter to the list of import parameters used to make the
RFC Call.
|
void |
close() |
protected long |
defaultTimeout() |
protected AdaptrisMessage |
doRequest(AdaptrisMessage msg,
ProduceDestination dest,
long timeout) |
java.util.List<ExportParameter> |
getExportParameters() |
java.util.List<ImportParameter> |
getImportParameters() |
void |
init() |
boolean |
isEnabled(com.adaptris.core.licensing.License license) |
void |
prepare() |
void |
produce(AdaptrisMessage msg,
ProduceDestination destination) |
void |
setExportParameters(java.util.List<ExportParameter> l) |
void |
setImportParameters(java.util.List<ImportParameter> l) |
void |
start() |
void |
stop() |
getIgnoreReplyMetadata, produce, request, request, request, request, setIgnoreReplyMetadata, shouldIgnoreReplyMetadata
getDestination, setDestination
createName, createQualifier, decode, encode, getEncoder, getIsConfirmation, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isConfirmation, isTrackingEndpoint, registerConnection, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsConfirmation, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
decode, encode, getEncoder, getMessageFactory, handleConnectionException, registerConnection, retrieveConnection, setEncoder, setMessageFactory
getUniqueId
createName, createQualifier, isConfirmation, isTrackingEndpoint
public RfcProducer()
public RfcProducer(ProduceDestination d)
public RfcProducer(ProduceDestination d, java.util.List<ImportParameter> importParms, java.util.List<ExportParameter> exportParms)
public void prepare() throws CoreException
prepare
in interface ComponentLifecycleExtension
CoreException
public boolean isEnabled(com.adaptris.core.licensing.License license)
isEnabled
in interface com.adaptris.core.licensing.LicensedComponent
public void init() throws CoreException
init
in interface ComponentLifecycle
CoreException
ComponentLifecycle.init()
public void start() throws CoreException
start
in interface ComponentLifecycle
CoreException
ComponentLifecycle.start()
public void stop()
stop
in interface ComponentLifecycle
ComponentLifecycle.stop()
public void close()
close
in interface ComponentLifecycle
ComponentLifecycle.close()
public void produce(AdaptrisMessage msg, ProduceDestination destination) throws ProduceException
produce
in interface AdaptrisMessageSender
ProduceException
(AdaptrisMessage,
ProduceDestination)
protected AdaptrisMessage doRequest(AdaptrisMessage msg, ProduceDestination dest, long timeout) throws ProduceException
doRequest
in class RequestReplyProducerImp
ProduceException
RequestReplyProducerImp.doRequest(com.adaptris.core.AdaptrisMessage,
com.adaptris.core.ProduceDestination, long)
public java.util.List<ImportParameter> getImportParameters()
public void setImportParameters(java.util.List<ImportParameter> l)
l
- the inputParameters to setpublic void addImportParameter(ImportParameter p)
p
- an ImportParameterpublic java.util.List<ExportParameter> getExportParameters()
public void setExportParameters(java.util.List<ExportParameter> l)
l
- the outputParameters to setpublic void addExportParameter(ExportParameter p)
p
- an ExportParameterprotected long defaultTimeout()
defaultTimeout
in class RequestReplyProducerImp
RequestReplyProducerImp.defaultTimeout()
Copyright Adaptris