Interface Broker

All Superinterfaces:
Region, org.apache.activemq.Service
All Known Implementing Classes:
AbstractAuthenticationBroker, AdvisoryBroker, AuthorizationBroker, BrokerBroadcaster, BrokerFilter, BrokerPluginSupport, CompositeDestinationBroker, ConnectionDotFileInterceptor, ConnectionSplitBroker, DestinationDotFileInterceptor, DestinationPathSeparatorBroker, DestinationsPlugin, DiscardingDLQBroker, DotFileInterceptorSupport, EmptyBroker, ErrorBroker, ForcePersistencyModeBroker, InsertableMutableBrokerFilter, JaasAuthenticationBroker, JaasCertificateAuthenticationBroker, JaasDualAuthenticationBroker, LoggingBrokerPlugin, ManagedRegionBroker, MulticastTraceBrokerPlugin, MutableBrokerFilter, RedeliveryPlugin, RegionBroker, SchedulerBroker, SimpleAuthenticationBroker, StatisticsBroker, SubQueueSelectorCacheBroker, TimeStampingBrokerPlugin, TraceBrokerPathPlugin, TransactionBroker, UDPTraceBrokerPlugin, UserIDBroker

public interface Broker extends Region, org.apache.activemq.Service
The Message Broker which routes messages, maintains subscriptions and connections, acknowledges messages and handles transactions.
  • Method Details

    • getAdaptor

      Broker getAdaptor(Class<?> type)
      Get a Broker from the Broker Stack that is a particular class
      Parameters:
      type -
      Returns:
      a Broker instance.
    • getBrokerId

      org.apache.activemq.command.BrokerId getBrokerId()
      Get the id of the broker
    • getBrokerName

      String getBrokerName()
      Get the name of the broker
    • addBroker

      void addBroker(Connection connection, org.apache.activemq.command.BrokerInfo info)
      A remote Broker connects
    • removeBroker

      void removeBroker(Connection connection, org.apache.activemq.command.BrokerInfo info)
      Remove a BrokerInfo
      Parameters:
      connection -
      info -
    • addConnection

      void addConnection(ConnectionContext context, org.apache.activemq.command.ConnectionInfo info) throws Exception
      A client is establishing a connection with the broker.
      Throws:
      Exception - TODO
    • removeConnection

      void removeConnection(ConnectionContext context, org.apache.activemq.command.ConnectionInfo info, Throwable error) throws Exception
      A client is disconnecting from the broker.
      Parameters:
      context - the environment the operation is being executed under.
      info -
      error - null if the client requested the disconnect or the error that caused the client to disconnect.
      Throws:
      Exception - TODO
    • addSession

      void addSession(ConnectionContext context, org.apache.activemq.command.SessionInfo info) throws Exception
      Adds a session.
      Parameters:
      context -
      info -
      Throws:
      Exception - TODO
    • removeSession

      void removeSession(ConnectionContext context, org.apache.activemq.command.SessionInfo info) throws Exception
      Removes a session.
      Parameters:
      context -
      info -
      Throws:
      Exception - TODO
    • addProducer

      void addProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo info) throws Exception
      Adds a producer.
      Specified by:
      addProducer in interface Region
      Parameters:
      context - the environment the operation is being executed under.
      Throws:
      Exception - TODO
    • removeProducer

      void removeProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo info) throws Exception
      Removes a producer.
      Specified by:
      removeProducer in interface Region
      Parameters:
      context - the environment the operation is being executed under.
      Throws:
      Exception - TODO
    • getClients

      Connection[] getClients() throws Exception
      Returns:
      all clients added to the Broker.
      Throws:
      Exception - TODO
    • getDestinations

      org.apache.activemq.command.ActiveMQDestination[] getDestinations() throws Exception
      Returns:
      all destinations added to the Broker.
      Throws:
      Exception - TODO
    • getDestinationMap

      Map<org.apache.activemq.command.ActiveMQDestination,Destination> getDestinationMap(org.apache.activemq.command.ActiveMQDestination destination)
      return a reference destination map of a region based on the destination type
      Parameters:
      destination -
      Returns:
      destination Map
    • getPreparedTransactions

      org.apache.activemq.command.TransactionId[] getPreparedTransactions(ConnectionContext context) throws Exception
      Gets a list of all the prepared xa transactions.
      Parameters:
      context - transaction ids
      Returns:
      array of TransactionId values
      Throws:
      Exception - TODO
    • beginTransaction

      void beginTransaction(ConnectionContext context, org.apache.activemq.command.TransactionId xid) throws Exception
      Starts a transaction.
      Parameters:
      context -
      xid -
      Throws:
      Exception - TODO
    • prepareTransaction

      int prepareTransaction(ConnectionContext context, org.apache.activemq.command.TransactionId xid) throws Exception
      Prepares a transaction. Only valid for xa transactions.
      Parameters:
      context -
      xid -
      Returns:
      id
      Throws:
      Exception - TODO
    • rollbackTransaction

      void rollbackTransaction(ConnectionContext context, org.apache.activemq.command.TransactionId xid) throws Exception
      Rollsback a transaction.
      Parameters:
      context -
      xid -
      Throws:
      Exception - TODO
    • commitTransaction

      void commitTransaction(ConnectionContext context, org.apache.activemq.command.TransactionId xid, boolean onePhase) throws Exception
      Commits a transaction.
      Parameters:
      context -
      xid -
      onePhase -
      Throws:
      Exception - TODO
    • forgetTransaction

      void forgetTransaction(ConnectionContext context, org.apache.activemq.command.TransactionId transactionId) throws Exception
      Forgets a transaction.
      Parameters:
      context -
      transactionId -
      Throws:
      Exception
    • getPeerBrokerInfos

      org.apache.activemq.command.BrokerInfo[] getPeerBrokerInfos()
      Get the BrokerInfo's of any connected Brokers
      Returns:
      array of peer BrokerInfos
    • preProcessDispatch

      void preProcessDispatch(org.apache.activemq.command.MessageDispatch messageDispatch)
      Notify the Broker that a dispatch is going to happen
      Parameters:
      messageDispatch -
    • postProcessDispatch

      void postProcessDispatch(org.apache.activemq.command.MessageDispatch messageDispatch)
      Notify the Broker that a dispatch has happened
      Parameters:
      messageDispatch -
    • isStopped

      boolean isStopped()
      Returns:
      true if the broker has stopped
    • getDurableDestinations

      Set<org.apache.activemq.command.ActiveMQDestination> getDurableDestinations()
      Returns:
      a Set of all durable destinations
    • addDestinationInfo

      void addDestinationInfo(ConnectionContext context, org.apache.activemq.command.DestinationInfo info) throws Exception
      Add and process a DestinationInfo object
      Parameters:
      context -
      info -
      Throws:
      Exception
    • removeDestinationInfo

      void removeDestinationInfo(ConnectionContext context, org.apache.activemq.command.DestinationInfo info) throws Exception
      Remove and process a DestinationInfo object
      Parameters:
      context -
      info -
      Throws:
      Exception
    • isFaultTolerantConfiguration

      boolean isFaultTolerantConfiguration()
      Returns:
      true if fault tolerant
    • getAdminConnectionContext

      ConnectionContext getAdminConnectionContext()
      Returns:
      the connection context used to make administration operations on startup or via JMX MBeans
    • setAdminConnectionContext

      void setAdminConnectionContext(ConnectionContext adminConnectionContext)
      Sets the default administration connection context used when configuring the broker on startup or via JMX
      Parameters:
      adminConnectionContext -
    • getTempDataStore

      PListStore getTempDataStore()
      Returns:
      the temp data store
    • getVmConnectorURI

      URI getVmConnectorURI()
      Returns:
      the URI that can be used to connect to the local Broker
    • brokerServiceStarted

      void brokerServiceStarted()
      called when the brokerService starts
    • getBrokerService

      BrokerService getBrokerService()
      Returns:
      the BrokerService
    • getRoot

      Broker getRoot()
      Ensure we get the Broker at the top of the Stack
      Returns:
      the broker at the top of the Stack
    • isExpired

      boolean isExpired(org.apache.activemq.broker.region.MessageReference messageReference)
      Determine if a message has expired -allows default behaviour to be overriden - as the timestamp set by the producer can be out of sync with the broker
      Parameters:
      messageReference -
      Returns:
      true if the message is expired
    • messageExpired

      void messageExpired(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference, Subscription subscription)
      A Message has Expired
      Parameters:
      context -
      messageReference -
      subscription - (may be null)
    • sendToDeadLetterQueue

      boolean sendToDeadLetterQueue(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference, Subscription subscription, Throwable poisonCause)
      A message needs to go the a DLQ
      Parameters:
      context -
      messageReference -
      poisonCause - reason for dlq submission, may be null
      Returns:
      true if Message was placed in a DLQ false if discarded.
    • getBrokerSequenceId

      long getBrokerSequenceId()
      Returns:
      the broker sequence id
    • messageConsumed

      void messageConsumed(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference)
      called when message is consumed
      Parameters:
      context -
      messageReference -
    • messageDelivered

      void messageDelivered(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference)
      Called when message is delivered to the broker
      Parameters:
      context -
      messageReference -
    • messageDispatched

      void messageDispatched(ConnectionContext context, Subscription sub, org.apache.activemq.broker.region.MessageReference messageReference)
      Called when message is dispatched to a consumer
      Parameters:
      context -
      sub -
      messageReference -
    • messageDiscarded

      void messageDiscarded(ConnectionContext context, Subscription sub, org.apache.activemq.broker.region.MessageReference messageReference)
      Called when a message is discarded - e.g. running low on memory This will happen only if the policy is enabled - e.g. non durable topics
      Parameters:
      context -
      sub -
      messageReference -
    • slowConsumer

      void slowConsumer(ConnectionContext context, Destination destination, Subscription subs)
      Called when there is a slow consumer
      Parameters:
      context -
      destination -
      subs -
    • fastProducer

      void fastProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo producerInfo, org.apache.activemq.command.ActiveMQDestination destination)
      Called to notify a producer is too fast
      Parameters:
      context -
      producerInfo -
      destination -
    • isFull

      void isFull(ConnectionContext context, Destination destination, org.apache.activemq.usage.Usage<?> usage)
      Called when a Usage reaches a limit
      Parameters:
      context -
      destination -
      usage -
    • virtualDestinationAdded

      void virtualDestinationAdded(ConnectionContext context, VirtualDestination virtualDestination)
    • virtualDestinationRemoved

      void virtualDestinationRemoved(ConnectionContext context, VirtualDestination virtualDestination)
    • nowMasterBroker

      void nowMasterBroker()
      called when the broker becomes the master in a master/slave configuration
    • getScheduler

      org.apache.activemq.thread.Scheduler getScheduler()
    • getExecutor

      ThreadPoolExecutor getExecutor()
    • networkBridgeStarted

      void networkBridgeStarted(org.apache.activemq.command.BrokerInfo brokerInfo, boolean createdByDuplex, String remoteIp)
    • networkBridgeStopped

      void networkBridgeStopped(org.apache.activemq.command.BrokerInfo brokerInfo)