Class MessageMetricsInterceptorByMetadata

  • All Implemented Interfaces:
    AdaptrisComponent, ComponentLifecycle, ComponentLifecycleExtension, StateManagedComponent, WorkflowInterceptor

    @ComponentProfile(summary="Interceptor that collates message counts based on metadata",
                      tag="interceptor")
    public class MessageMetricsInterceptorByMetadata
    extends MessageMetricsInterceptorImpl
    WorkflowInterceptor implementation that captures metrics about messages that match a given metadata criteria.

    This captures information about a message where that message contains the specified key and and value combination, the value portion may be a regular expression. If the message metadata matches that configured, then it captures the total number of messages that passed through this workflow, and captures the size of messages entering the workflow (but not the total size of messages exiting the workflow); and also the number of messages that had an error condition at the end of the workflow.

    In the adapter configuration file this class is aliased as message-metrics-interceptor-by-metadata which is the preferred alternative to the fully qualified classname when building your configuration.

    • Constructor Detail

      • MessageMetricsInterceptorByMetadata

        public MessageMetricsInterceptorByMetadata()
      • MessageMetricsInterceptorByMetadata

        public MessageMetricsInterceptorByMetadata​(MetadataElement element)
    • Method Detail

      • getMetadataElement

        public KeyValuePair getMetadataElement()
      • setMetadataElement

        public void setMetadataElement​(KeyValuePair m)
        Set the metadata element that this interceptor will filter on.

        Note that the value part of this metadata may be a regular expression.

        Parameters:
        m - the metadata element.
      • workflowStart

        public void workflowStart​(AdaptrisMessage inputMsg)
        Description copied from interface: WorkflowInterceptor
        Mark the start of a workflow. This doesn't mean the message has started processing but only that the message will - at some point - be processed by the workflow.
        Parameters:
        inputMsg - the message that will be processed by this workflow.
      • workflowEnd

        public void workflowEnd​(AdaptrisMessage inputMsg,
                                AdaptrisMessage outputMsg)
        Description copied from interface: WorkflowInterceptor
        Mark the end of a workflow.
        Parameters:
        inputMsg - the original message that was originally submitted to the workflow; in the event of an exception during processing, the exception will be stored in object metadata in the inputMsg
        outputMsg - the message contaning any changes that may have been applied by the services within the workflow.
        See Also:
        CoreConstants.OBJ_METADATA_EXCEPTION