Package org.apache.activemq.broker
Interface Broker
-
- All Known Implementing Classes:
AbstractAuthenticationBroker,AbstractRuntimeConfigurationBroker,AdvisoryBroker,AuthenticationFilter,AuthorizationBroker,AuthorizationFilter,BrokerBroadcaster,BrokerFilter,BrokerPluginSupport,CompositeDestinationBroker,ConnectionDotFileInterceptor,ConnectionSplitBroker,DestinationDotFileInterceptor,DestinationPathSeparatorBroker,DestinationsPlugin,DiscardingDLQBroker,DotFileInterceptorSupport,EmptyBroker,EnvironmentFilter,ErrorBroker,ForcePersistencyModeBroker,InsertableMutableBrokerFilter,JaasAuthenticationBroker,JaasCertificateAuthenticationBroker,JaasDualAuthenticationBroker,JavaRuntimeConfigurationBroker,LoggingBrokerPlugin,ManagedRegionBroker,MulticastTraceBrokerPlugin,MutableBrokerFilter,PartitionBroker,RedeliveryPlugin,RegionBroker,RuntimeConfigurationBroker,SchedulerBroker,SecurityFilter,ShiroPlugin,SimpleAuthenticationBroker,StatisticsBroker,SubjectFilter,SubQueueSelectorCacheBroker,TimeStampingBrokerPlugin,TraceBrokerPathPlugin,TransactionBroker,UDPTraceBrokerPlugin,UserIDBroker,ZooKeeperPartitionBroker
public interface Broker extends Region, Service
The Message Broker which routes messages, maintains subscriptions and connections, acknowledges messages and handles transactions.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddBroker(Connection connection, BrokerInfo info)A remote Broker connectsvoidaddConnection(ConnectionContext context, ConnectionInfo info)A client is establishing a connection with the broker.voidaddDestinationInfo(ConnectionContext context, DestinationInfo info)Add and process a DestinationInfo objectvoidaddProducer(ConnectionContext context, ProducerInfo info)Adds a producer.voidaddSession(ConnectionContext context, SessionInfo info)Adds a session.voidbeginTransaction(ConnectionContext context, TransactionId xid)Starts a transaction.voidbrokerServiceStarted()called when the brokerService startsvoidcommitTransaction(ConnectionContext context, TransactionId xid, boolean onePhase)Commits a transaction.voidfastProducer(ConnectionContext context, ProducerInfo producerInfo, ActiveMQDestination destination)Called to notify a producer is too fastvoidforgetTransaction(ConnectionContext context, TransactionId transactionId)Forgets a transaction.BrokergetAdaptor(Class<?> type)Get a Broker from the Broker Stack that is a particular classConnectionContextgetAdminConnectionContext()BrokerIdgetBrokerId()Get the id of the brokerStringgetBrokerName()Get the name of the brokerlonggetBrokerSequenceId()BrokerServicegetBrokerService()Connection[]getClients()Map<ActiveMQDestination,Destination>getDestinationMap(ActiveMQDestination destination)return a reference destination map of a region based on the destination typeActiveMQDestination[]getDestinations()Set<ActiveMQDestination>getDurableDestinations()ThreadPoolExecutorgetExecutor()BrokerInfo[]getPeerBrokerInfos()Get the BrokerInfo's of any connected BrokersTransactionId[]getPreparedTransactions(ConnectionContext context)Gets a list of all the prepared xa transactions.BrokergetRoot()Ensure we get the Broker at the top of the StackSchedulergetScheduler()PListStoregetTempDataStore()URIgetVmConnectorURI()booleanisExpired(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 brokerbooleanisFaultTolerantConfiguration()voidisFull(ConnectionContext context, Destination destination, Usage<?> usage)Called when a Usage reaches a limitbooleanisStopped()voidmessageConsumed(ConnectionContext context, MessageReference messageReference)called when message is consumedvoidmessageDelivered(ConnectionContext context, MessageReference messageReference)Called when message is delivered to the brokervoidmessageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)Called when a message is discarded - e.g.voidmessageExpired(ConnectionContext context, MessageReference messageReference, Subscription subscription)A Message has ExpiredvoidnetworkBridgeStarted(BrokerInfo brokerInfo, boolean createdByDuplex, String remoteIp)voidnetworkBridgeStopped(BrokerInfo brokerInfo)voidnowMasterBroker()called when the broker becomes the master in a master/slave configurationvoidpostProcessDispatch(MessageDispatch messageDispatch)Notify the Broker that a dispatch has happenedintprepareTransaction(ConnectionContext context, TransactionId xid)Prepares a transaction.voidpreProcessDispatch(MessageDispatch messageDispatch)Notify the Broker that a dispatch is going to happenvoidremoveBroker(Connection connection, BrokerInfo info)Remove a BrokerInfovoidremoveConnection(ConnectionContext context, ConnectionInfo info, Throwable error)A client is disconnecting from the broker.voidremoveDestinationInfo(ConnectionContext context, DestinationInfo info)Remove and process a DestinationInfo objectvoidremoveProducer(ConnectionContext context, ProducerInfo info)Removes a producer.voidremoveSession(ConnectionContext context, SessionInfo info)Removes a session.voidrollbackTransaction(ConnectionContext context, TransactionId xid)Rollsback a transaction.booleansendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription, Throwable poisonCause)A message needs to go the a DLQvoidsetAdminConnectionContext(ConnectionContext adminConnectionContext)Sets the default administration connection context used when configuring the broker on startup or via JMXvoidslowConsumer(ConnectionContext context, Destination destination, Subscription subs)Called when there is a slow consumervoidvirtualDestinationAdded(ConnectionContext context, VirtualDestination virtualDestination)voidvirtualDestinationRemoved(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
-
-
-
-
Method Detail
-
getAdaptor
Broker getAdaptor(Class<?> type)
Get a Broker from the Broker Stack that is a particular class- Parameters:
type-- Returns:
- a Broker instance.
-
getBrokerId
BrokerId getBrokerId()
Get the id of the broker
-
getBrokerName
String getBrokerName()
Get the name of the broker
-
addBroker
void addBroker(Connection connection, BrokerInfo info)
A remote Broker connects
-
removeBroker
void removeBroker(Connection connection, BrokerInfo info)
Remove a BrokerInfo- Parameters:
connection-info-
-
addConnection
void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception
A client is establishing a connection with the broker.- Throws:
Exception- TODO
-
removeConnection
void removeConnection(ConnectionContext context, 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, SessionInfo info) throws Exception
Adds a session.- Parameters:
context-info-- Throws:
Exception- TODO
-
removeSession
void removeSession(ConnectionContext context, SessionInfo info) throws Exception
Removes a session.- Parameters:
context-info-- Throws:
Exception- TODO
-
addProducer
void addProducer(ConnectionContext context, ProducerInfo info) throws Exception
Adds a producer.- Specified by:
addProducerin interfaceRegion- Parameters:
context- the environment the operation is being executed under.- Throws:
Exception- TODO
-
removeProducer
void removeProducer(ConnectionContext context, ProducerInfo info) throws Exception
Removes a producer.- Specified by:
removeProducerin interfaceRegion- 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
ActiveMQDestination[] getDestinations() throws Exception
- Returns:
- all destinations added to the Broker.
- Throws:
Exception- TODO
-
getDestinationMap
Map<ActiveMQDestination,Destination> getDestinationMap(ActiveMQDestination destination)
return a reference destination map of a region based on the destination type- Parameters:
destination-- Returns:
- destination Map
-
getPreparedTransactions
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, TransactionId xid) throws Exception
Starts a transaction.- Parameters:
context-xid-- Throws:
Exception- TODO
-
prepareTransaction
int prepareTransaction(ConnectionContext context, 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, TransactionId xid) throws Exception
Rollsback a transaction.- Parameters:
context-xid-- Throws:
Exception- TODO
-
commitTransaction
void commitTransaction(ConnectionContext context, TransactionId xid, boolean onePhase) throws Exception
Commits a transaction.- Parameters:
context-xid-onePhase-- Throws:
Exception- TODO
-
forgetTransaction
void forgetTransaction(ConnectionContext context, TransactionId transactionId) throws Exception
Forgets a transaction.- Parameters:
context-transactionId-- Throws:
Exception
-
getPeerBrokerInfos
BrokerInfo[] getPeerBrokerInfos()
Get the BrokerInfo's of any connected Brokers- Returns:
- array of peer BrokerInfos
-
preProcessDispatch
void preProcessDispatch(MessageDispatch messageDispatch)
Notify the Broker that a dispatch is going to happen- Parameters:
messageDispatch-
-
postProcessDispatch
void postProcessDispatch(MessageDispatch messageDispatch)
Notify the Broker that a dispatch has happened- Parameters:
messageDispatch-
-
isStopped
boolean isStopped()
- Returns:
- true if the broker has stopped
-
getDurableDestinations
Set<ActiveMQDestination> getDurableDestinations()
- Returns:
- a Set of all durable destinations
-
addDestinationInfo
void addDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception
Add and process a DestinationInfo object- Parameters:
context-info-- Throws:
Exception
-
removeDestinationInfo
void removeDestinationInfo(ConnectionContext context, 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(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, MessageReference messageReference, Subscription subscription)
A Message has Expired- Parameters:
context-messageReference-subscription- (may be null)
-
sendToDeadLetterQueue
boolean sendToDeadLetterQueue(ConnectionContext context, 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, MessageReference messageReference)
called when message is consumed- Parameters:
context-messageReference-
-
messageDelivered
void messageDelivered(ConnectionContext context, MessageReference messageReference)
Called when message is delivered to the broker- Parameters:
context-messageReference-
-
messageDiscarded
void messageDiscarded(ConnectionContext context, Subscription sub, 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, ProducerInfo producerInfo, ActiveMQDestination destination)
Called to notify a producer is too fast- Parameters:
context-producerInfo-destination-
-
isFull
void isFull(ConnectionContext context, Destination destination, 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
Scheduler getScheduler()
-
getExecutor
ThreadPoolExecutor getExecutor()
-
networkBridgeStarted
void networkBridgeStarted(BrokerInfo brokerInfo, boolean createdByDuplex, String remoteIp)
-
networkBridgeStopped
void networkBridgeStopped(BrokerInfo brokerInfo)
-
-