java.lang.Object
org.odpi.openmetadata.governanceservers.integrationdaemonservices.handlers.IntegrationConnectorHandler

public class IntegrationConnectorHandler extends Object
IntegrationConnectorReport provides information on the operation of a single connector within an integration service.
  • Method Details

    • getConnectorReport

      public IntegrationConnectorReport getConnectorReport()
      Retrieve details of this connector.
      Returns:
      connector report
    • getIntegrationConnectorId

      public String getIntegrationConnectorId()
      Return the unique identifier of the connector from the configuration or the integration group definition.
      Returns:
      String name
    • getIntegrationConnectorGUID

      public String getIntegrationConnectorGUID()
      Return the unique identifier of the connector entity from the configuration or the integration group definition.
      Returns:
      String name
    • getIntegrationConnectorName

      public String getIntegrationConnectorName()
      Return the name of the connector. This name is used for routing refresh calls to the connector as well as being used for diagnostics. Ideally it should be unique amongst the connectors for the integration service.
      Returns:
      String name
    • getConnection

      public Connection getConnection()
      Return the connection used to create the connector.
      Returns:
      connection
    • getIntegrationConnectorInstanceId

      public String getIntegrationConnectorInstanceId()
      Return the unique instance identifier of the connector.
      Returns:
      String name
    • needsDedicatedThread

      public boolean needsDedicatedThread()
      Does the connector need to run in a dedicated thread.
      Returns:
      boolean
    • getStartDate

      public Date getStartDate()
      Return the earliest time that this connector can run. (Null means no restriction.)
      Returns:
      date
    • getStopDate

      public Date getStopDate()
      Return the latest time that this connector can run. (Null means no restriction.)
      Returns:
      date
    • getIntegrationConnectorStatus

      public IntegrationConnectorStatus getIntegrationConnectorStatus()
      Return the status for the integration connector.
      Returns:
      status object
    • getLastStatusChange

      public Date getLastStatusChange()
      Return the date/time when the status was last changed.
      Returns:
      timestamp
    • getFailingExceptionMessage

      public String getFailingExceptionMessage()
      Return the message extracted from an exception returned by the connector. This is only set if the connectorStatus is FAILED. The full exception is logged in the server's audit log.
      Returns:
      string message
    • getStatistics

      public Map<String,Object> getStatistics()
      Return the statistics logged by the connector.
      Returns:
      name value pairs for the statistics
    • getLastRefreshTime

      public Date getLastRefreshTime()
      Return the date/time when the connector was last refreshed. Null means it has never been refreshed.
      Returns:
      timestamp
    • getMinMinutesBetweenRefresh

      public long getMinMinutesBetweenRefresh()
      Return the configured minimum time between calls to refresh. This gives an indication of when the next refresh is due. Null means refresh is only called at server start up and in response to an API request.
      Returns:
      count
    • reinitializeConnector

      public void reinitializeConnector(String actionDescription)
      Initialize a new integration connector instance. This is called from the constructor and during restart.
      Parameters:
      actionDescription - description of caller's operation
    • getConfigurationProperties

      public Map<String,Object> getConfigurationProperties()
      Retrieve the configuration properties of the connector.
      Returns:
      property map
    • updateConfigurationProperties

      public void updateConfigurationProperties(String userId, String actionDescription, boolean isMergeUpdate, Map<String,Object> configurationProperties)
      Update the configuration properties of the connector and restart it.
      Parameters:
      userId - external caller
      actionDescription - external caller's activity
      isMergeUpdate - should the properties be merged into the existing properties or replace them
      configurationProperties - new configuration properties
    • updateEndpointNetworkAddress

      public void updateEndpointNetworkAddress(String userId, String actionDescription, String networkAddress)
      Update the endpoint network address for a specific integration connector.
      Parameters:
      userId - calling user
      actionDescription - external caller's activity
      networkAddress - name of a specific connector or null for all connectors and the properties to change
    • updateConnectorConnection

      public void updateConnectorConnection(String userId, String actionDescription, Connection connection)
      Update the connection for a specific integration connector.
      Parameters:
      userId - calling user
      actionDescription - external caller's activity
      connection - new connection object
    • engageConnector

      public void engageConnector(String actionDescription)
      Call engage() method of the integration connector. This is called in a separate thread.
      Parameters:
      actionDescription - external caller's activity
    • refreshConnector

      public void refreshConnector(String actionDescription)
      Call refresh() on the connector provided it is in the correct state.
      Parameters:
      actionDescription - external caller's activity
    • refreshConnectorDetails

      public void refreshConnectorDetails(RegisteredIntegrationConnectorElement registeredIntegrationConnectorElement)
      Update the connector properties with as little disruption to the running connector.
      Parameters:
      registeredIntegrationConnectorElement - new configuration information from the server
    • updateConnectorDetails

      public boolean updateConnectorDetails(RegisteredIntegrationConnectorElement registeredIntegrationConnectorElement)
      Update the connector properties with as little disruption to the running connector.
      Parameters:
      registeredIntegrationConnectorElement - new configuration information from the server
      Returns:
      boolean - true if the connection has changed
    • shutdown

      public void shutdown(String actionDescription)
      Shutdown the connector handler.
      Parameters:
      actionDescription - external caller's activity
    • disconnectConnector

      public void disconnectConnector(String actionDescription)
      Request that the connector instance releases its resources.
      Parameters:
      actionDescription - external caller's activity