Class ChainMessageInterceptorStrategy

java.lang.Object
org.apache.activemq.broker.region.policy.ChainMessageInterceptorStrategy
All Implemented Interfaces:
MessageInterceptorStrategy

public class ChainMessageInterceptorStrategy extends Object implements MessageInterceptorStrategy
Configurable chain of MessageInterceptorStrategies
  • Constructor Details

    • ChainMessageInterceptorStrategy

      public ChainMessageInterceptorStrategy()
  • Method Details

    • process

      public void process(ProducerBrokerExchange producerBrokerExchange, org.apache.activemq.command.Message message) throws jakarta.jms.MessageFormatRuntimeException
      Description copied from interface: MessageInterceptorStrategy
      When a PolicyEntry is configured with a MessageInterceptorStrategy, the process method is invoked with the current ProducerBrokerExchange and Message before the message is stored in any destination cache or persistence store. Implementations may reference data from the ProducerBrokerExchange and may check or modify headers, properties, body or other metadata on the Message. Any change to the message must adhere to OpenWire and ActiveMQ requirements or risk issues with memory usage, compatibility, and general correct functioning. Implementations shall not copy, or clone the message. Implementations may throw a MessageFormatRuntimeException that is returned to the client to indicate a message should not be added to the queue.
      Specified by:
      process in interface MessageInterceptorStrategy
      Throws:
      jakarta.jms.MessageFormatRuntimeException
    • setMessageStrategies

      public void setMessageStrategies(MessageInterceptorStrategy[] messageInterceptorStrategies)
    • getMessageInterceptorStrategies

      public MessageInterceptorStrategy[] getMessageInterceptorStrategies()