Package org.apache.activemq.broker
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
The Message Broker which routes messages, maintains subscriptions and
connections, acknowledges messages and handles transactions.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addBroker
(Connection connection, org.apache.activemq.command.BrokerInfo info) A remote Broker connectsvoid
addConnection
(ConnectionContext context, org.apache.activemq.command.ConnectionInfo info) A client is establishing a connection with the broker.void
addDestinationInfo
(ConnectionContext context, org.apache.activemq.command.DestinationInfo info) Add and process a DestinationInfo objectvoid
addProducer
(ConnectionContext context, org.apache.activemq.command.ProducerInfo info) Adds a producer.void
addSession
(ConnectionContext context, org.apache.activemq.command.SessionInfo info) Adds a session.void
beginTransaction
(ConnectionContext context, org.apache.activemq.command.TransactionId xid) Starts a transaction.void
called when the brokerService startsvoid
commitTransaction
(ConnectionContext context, org.apache.activemq.command.TransactionId xid, boolean onePhase) Commits a transaction.void
fastProducer
(ConnectionContext context, org.apache.activemq.command.ProducerInfo producerInfo, org.apache.activemq.command.ActiveMQDestination destination) Called to notify a producer is too fastvoid
forgetTransaction
(ConnectionContext context, org.apache.activemq.command.TransactionId transactionId) Forgets a transaction.getAdaptor
(Class<?> type) Get a Broker from the Broker Stack that is a particular classorg.apache.activemq.command.BrokerId
Get the id of the brokerGet the name of the brokerlong
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 typeorg.apache.activemq.command.ActiveMQDestination[]
Set<org.apache.activemq.command.ActiveMQDestination>
org.apache.activemq.command.BrokerInfo[]
Get the BrokerInfo's of any connected Brokersorg.apache.activemq.command.TransactionId[]
getPreparedTransactions
(ConnectionContext context) Gets a list of all the prepared xa transactions.getRoot()
Ensure we get the Broker at the top of the Stackorg.apache.activemq.thread.Scheduler
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 brokerboolean
void
isFull
(ConnectionContext context, Destination destination, org.apache.activemq.usage.Usage<?> usage) Called when a Usage reaches a limitboolean
void
messageConsumed
(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference) called when message is consumedvoid
messageDelivered
(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference) Called when message is delivered to the brokervoid
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 topicsvoid
messageDispatched
(ConnectionContext context, Subscription sub, org.apache.activemq.broker.region.MessageReference messageReference) Called when message is dispatched to a consumervoid
messageExpired
(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference, Subscription subscription) A Message has Expiredvoid
networkBridgeStarted
(org.apache.activemq.command.BrokerInfo brokerInfo, boolean createdByDuplex, String remoteIp) void
networkBridgeStopped
(org.apache.activemq.command.BrokerInfo brokerInfo) void
called when the broker becomes the master in a master/slave configurationvoid
postProcessDispatch
(org.apache.activemq.command.MessageDispatch messageDispatch) Notify the Broker that a dispatch has happenedint
prepareTransaction
(ConnectionContext context, org.apache.activemq.command.TransactionId xid) Prepares a transaction.void
preProcessDispatch
(org.apache.activemq.command.MessageDispatch messageDispatch) Notify the Broker that a dispatch is going to happenvoid
removeBroker
(Connection connection, org.apache.activemq.command.BrokerInfo info) Remove a BrokerInfovoid
removeConnection
(ConnectionContext context, org.apache.activemq.command.ConnectionInfo info, Throwable error) A client is disconnecting from the broker.void
removeDestinationInfo
(ConnectionContext context, org.apache.activemq.command.DestinationInfo info) Remove and process a DestinationInfo objectvoid
removeProducer
(ConnectionContext context, org.apache.activemq.command.ProducerInfo info) Removes a producer.void
removeSession
(ConnectionContext context, org.apache.activemq.command.SessionInfo info) Removes a session.void
rollbackTransaction
(ConnectionContext context, org.apache.activemq.command.TransactionId xid) Rollsback a transaction.boolean
sendToDeadLetterQueue
(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference, Subscription subscription, Throwable poisonCause) A message needs to go the a DLQvoid
setAdminConnectionContext
(ConnectionContext adminConnectionContext) Sets the default administration connection context used when configuring the broker on startup or via JMXvoid
slowConsumer
(ConnectionContext context, Destination destination, Subscription subs) Called when there is a slow consumervoid
virtualDestinationAdded
(ConnectionContext context, VirtualDestination virtualDestination) void
virtualDestinationRemoved
(ConnectionContext context, VirtualDestination virtualDestination) Methods inherited from interface org.apache.activemq.broker.region.Region
acknowledge, addConsumer, addDestination, gc, getDestinationMap, getDestinations, messagePull, processConsumerControl, processDispatchNotification, reapplyInterceptor, removeConsumer, removeDestination, removeSubscription, send
Methods inherited from interface org.apache.activemq.Service
start, stop
-
Method Details
-
getAdaptor
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
A remote Broker connects -
removeBroker
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 interfaceRegion
- 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 interfaceRegion
- Parameters:
context
- the environment the operation is being executed under.- Throws:
Exception
- TODO
-
getClients
- Returns:
- all clients added to the Broker.
- Throws:
Exception
- TODO
-
getDestinations
- 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
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
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
-
virtualDestinationRemoved
-
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)
-