Interface AdapterComponentMBean

All Superinterfaces:
BaseComponentMBean
All Known Subinterfaces:
AdapterManagerMBean, AdapterRuntimeComponent<S>, AdapterRuntimeManager, ChannelManagerMBean, ChannelRuntimeManager, ChildComponent<S>, ChildComponentMBean, WorkflowManagerMBean, WorkflowRuntimeManager
All Known Implementing Classes:
AdapterManager, ChannelManager, ComponentManagerImpl, WorkflowManager

public interface AdapterComponentMBean extends BaseComponentMBean
Base interface that exposes management functionality for an Adapter component.
  • Field Details

    • PROPERTY_SEPARATOR

      static final String PROPERTY_SEPARATOR
      See Also:
    • EQUALS

      static final String EQUALS
      See Also:
    • KEY_ID

      static final String KEY_ID
      ObjectName Key representing the unique-id of a component
      See Also:
    • KEY_ADAPTER

      static final String KEY_ADAPTER
      ObjectName Key representing the adapter unique-id
      See Also:
    • KEY_CHANNEL

      static final String KEY_CHANNEL
      ObjectName Key representing parent channel unique-id
      See Also:
    • KEY_WORKFLOW

      static final String KEY_WORKFLOW
      ObjectName Key representing the parent workflow unique-id
      See Also:
    • ID_PREFIX

      static final String ID_PREFIX
      The standard prefix indicating the id of this component, which is @{value}
      See Also:
    • ADAPTER_PREFIX

      static final String ADAPTER_PREFIX
      The standard prefix indicating the parent adapter which is ",adapter="
      See Also:
    • CHANNEL_PREFIX

      static final String CHANNEL_PREFIX
      The standard prefix indicating the parent channel which is ",channel="
      See Also:
    • WORKFLOW_PREFIX

      static final String WORKFLOW_PREFIX
      The standard prefix indicating the parent workflow which is ",workflow="
      See Also:
    • JMX_DOMAIN_NAME

      static final String JMX_DOMAIN_NAME
      The standard Domain name for components.
      See Also:
    • JMX_ADAPTER_TYPE

      static final String JMX_ADAPTER_TYPE
      The standard JMX Prefix specifying domain and type which resolves to "com.adaptris:type=Adapter"
      See Also:
    • JMX_WORKFLOW_TYPE

      static final String JMX_WORKFLOW_TYPE
      The standard JMX Prefix specifying domain and type which resolves to "com.adaptris:type=Workflow"
      See Also:
    • JMX_CHANNEL_TYPE

      static final String JMX_CHANNEL_TYPE
      The standard JMX Prefix for channels which resolves to "com.adaptris:type=Channel"
      See Also:
    • JMX_MSG_ERR_DIGESTER_TYPE

      static final String JMX_MSG_ERR_DIGESTER_TYPE
      The standard JMX Prefix for a given Message Error Digest exposed via JMX which resolves to "com.adaptris:type=MessageErrorDigest"
      See Also:
    • JMX_LOG_HANDLER_TYPE

      @Deprecated @Removal(version="5.1.0") static final String JMX_LOG_HANDLER_TYPE
      Deprecated.
      See Also:
    • JMX_FAILED_MESSAGE_RETRIER_TYPE

      static final String JMX_FAILED_MESSAGE_RETRIER_TYPE
      The standard JMX Prefix for a FailedMessageRetrier that is exposed via JMX which resolves to "com.adaptris:type=FailedMessageRetrier"
      See Also:
    • JMX_METRICS_TYPE

      static final String JMX_METRICS_TYPE
      The standard JMX Prefix for a given MessageMetricsStatistics exposed via JMX which resolves to "com.adaptris:type=Metrics"
      See Also:
    • JMX_INFLIGHT_TYPE

      static final String JMX_INFLIGHT_TYPE
      The standard JMX Prefix for a given MessageInFlight Interceptor exposed via JMX which resolves to "com.adaptris:type=InFlight"
      See Also:
    • JMX_FS_MONITOR_TYPE

      static final String JMX_FS_MONITOR_TYPE
      The standard JMX Prefix for a given Filesystem monitor exposed via JMX which resolves to "com.adaptris:type=FsMonitor"
      See Also:
    • JMX_CONSUMER_MONITOR_TYPE

      static final String JMX_CONSUMER_MONITOR_TYPE
      The standard JMX Prefix for a given consumer monitor exposed via JMX which resolves to "com.adaptris:type=ConsumerMonitor"
      See Also:
    • JMX_RETRY_MONITOR_TYPE

      static final String JMX_RETRY_MONITOR_TYPE
      The standard JMX Prefix for a given RetryMessageErrorHandler monitor exposed via JMX which resolves to "com.adaptris:type=RetryMessageHandlerMonitor"
      See Also:
    • JMX_NOTIFIER_TYPE

      static final String JMX_NOTIFIER_TYPE
      The standard JMX Prefix for an Interceptor which emits Notification which resolves to "com.adaptris:type=Notifications"
      See Also:
    • NOTIF_TYPE_ADAPTER_LIFECYCLE

      static final String NOTIF_TYPE_ADAPTER_LIFECYCLE
      The notification type for adapter lifecycle notifications '"adaptris.jmx.adapter.lifecycle" '.
      See Also:
    • NOTIF_TYPE_CHANNEL_LIFECYCLE

      static final String NOTIF_TYPE_CHANNEL_LIFECYCLE
      The notification type for channel lifecycle notifications '"adaptris.jmx.channel.lifecycle" '.
      See Also:
    • NOTIF_TYPE_WORKFLOW_LIFECYCLE

      static final String NOTIF_TYPE_WORKFLOW_LIFECYCLE
      The notification type for workflow lifecycle notifications '"adaptris.jmx.workflow.lifecycle" '.
      See Also:
    • NOTIF_TYPE_WORKFLOW_CONFIG

      static final String NOTIF_TYPE_WORKFLOW_CONFIG
      Notification type for workflow config update notifications '"adaptris.jmx.workflow.config" '
      See Also:
    • NOTIF_TYPE_CHANNEL_CONFIG

      static final String NOTIF_TYPE_CHANNEL_CONFIG
      Notification type for channel config update notifications '"adaptris.jmx.channel.config" '
      See Also:
    • NOTIF_TYPE_ADAPTER_CONFIG

      static final String NOTIF_TYPE_ADAPTER_CONFIG
      Notification type for adapter config update notifications '"adaptris.jmx.adapter.config" '
      See Also:
    • NOTIF_MSG_CONFIG_UPDATED

      static final String NOTIF_MSG_CONFIG_UPDATED
      Standard Message for a configuration update.
      See Also:
    • NOTIF_MSG_INITIALISED

      static final String NOTIF_MSG_INITIALISED
      The standard message for a component being initialised '"Component Initialised" '.
      See Also:
    • NOTIF_MSG_STARTED

      static final String NOTIF_MSG_STARTED
      The standard message for a component being started '"Component Started" '.
      See Also:
    • NOTIF_MSG_STOPPED

      static final String NOTIF_MSG_STOPPED
      The standard message for a component being stopped '"Component Stopped" '.
      See Also:
    • NOTIF_MSG_CLOSED

      static final String NOTIF_MSG_CLOSED
      The standard message for a component being closed '"Component Closed" '.
      See Also:
    • NOTIF_MSG_RESTARTED

      static final String NOTIF_MSG_RESTARTED
      The standard message for a component being restarted '"Component Restarted" '.
      See Also:
  • Method Details

    • requestInit

      @Deprecated void requestInit() throws CoreException
      Deprecated.
      since 3.0.0, use requestInit(long) instead.
      Initialise this component.
      Throws:
      CoreException - wrapping any underlying Exception
    • requestInit

      void requestInit(long timeoutMs) throws CoreException, TimeoutException
      Initialise this component.

      A timeout is required as Connections within the adapter may be configured to retry forever (if a broker is not available for instance) which would cause this method to never return.

      Parameters:
      timeoutMs - the max timeout to wait for in milliseconds
      Throws:
      CoreException - wrapping any underlying adapter exception
      TimeoutException - if the timeout was exceeded.
    • requestStart

      @Deprecated void requestStart() throws CoreException
      Deprecated.
      since 3.0.0, use requestStart(long) instead.
      Start this component.
      Throws:
      CoreException - wrapping any underlying Exception
    • requestStart

      void requestStart(long timeoutMs) throws CoreException, TimeoutException
      Start this component.

      A timeout is required as Connections within the adapter may be configured to retry forever (if a broker is not available for instance) which would cause this method to never return.

      Parameters:
      timeoutMs - the max timeout to wait for in milliseconds
      Throws:
      CoreException - wrapping any underlying adapter exception
      TimeoutException - if the timeout was exceeded.
    • requestStop

      @Deprecated void requestStop() throws CoreException
      Deprecated.
      since 3.0.0, use requestStop(long) instead.
      stop this component.
      Throws:
      CoreException - wrapping any underlying Exception
    • requestStop

      void requestStop(long timeout) throws CoreException, TimeoutException
      Stop this component.

      A timeout is required as Connections within the adapter may be configured to retry forever (if a broker is not available for instance) which would cause this method to never return.

      Parameters:
      timeout - the max timeout to wait for in milliseconds
      Throws:
      CoreException - wrapping any underlying adapter exception
      TimeoutException - if the timeout was exceeded.
    • requestClose

      @Deprecated void requestClose() throws CoreException
      Deprecated.
      since 3.0.0, use requestClose(long) instead.
      Close this component.
      Throws:
      CoreException - wrapping any underlying Exception
    • requestClose

      void requestClose(long timeoutMs) throws CoreException, TimeoutException
      Close this component.

      A timeout is required as Connections within the adapter may be configured to retry forever (if a broker is not available for instance) which would cause this method to never return.

      Parameters:
      timeoutMs - the max timeout to wait for in milliseconds
      Throws:
      CoreException - wrapping any underlying adapter exception
      TimeoutException - if the timeout was exceeded.
    • requestRestart

      @Deprecated void requestRestart() throws CoreException
      Deprecated.
      since 3.0.0, use requestRestart(long) instead.
      Restart this channel.

      This is semantically equivalent to calling requestClose() and requestStart()

      Throws:
      CoreException - wrapping any underlying Exception
    • requestRestart

      void requestRestart(long timeoutMs) throws CoreException, TimeoutException
      Restart this component.

      This just invokes requestClose(long) and requestStart(long) in sequence with the timeoutMs parameter. Bear in mind that a TimeoutException may not occur until 2 * timeoutMs depending on how long the component takes to close and start.

      Parameters:
      timeoutMs - the max timeout to pass into requestClose(long) and requestStart(long) in ms. This means that a TimeoutException might not occur until 2 * timeoutMs.
      Throws:
      CoreException - wrapping any underlying adapter exception
      TimeoutException - if the timeout was exceeded.
    • requestStartTime

      long requestStartTime()
      Returns timestamp of the last start time for this component
      Returns:
      the last start time, or 0 if the component has never been started.
    • requestStopTime

      long requestStopTime()
      Returns timestamp of the last stop time for this component
      Returns:
      the last stop time; generally speaking this will be the time when the component was "created" if an explicit stop has never been requested.
    • getComponentState

      ComponentState getComponentState()
      Get the state of this managed runtime component.
      Returns:
      the component state
    • getUniqueId

      String getUniqueId()
      Get the name of this runtime component.
      Returns:
      the name of this component which is generally semantically equivalent to the corresponding Workflow.getUniqueId() or Channel.getUniqueId()
    • getConfiguration

      String getConfiguration() throws CoreException
      Get a marshalled copy of the configuration for this item.
      Returns:
      a string representation of the config for this item.
      Throws:
      CoreException - wrapping any underlying Exception
      See Also:
    • getWrappedComponentClassname

      String getWrappedComponentClassname()
      Get the class name that is wrapped by this MBean.
      Returns:
      the class name (e.g. com.adaptris.core.StandardWorkflow)