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 void
addBroker(Connection connection, BrokerInfo info)
A remote Broker connectsvoid
addConnection(ConnectionContext context, ConnectionInfo info)
A client is establishing a connection with the broker.void
addDestinationInfo(ConnectionContext context, DestinationInfo info)
Add and process a DestinationInfo objectvoid
addProducer(ConnectionContext context, ProducerInfo info)
Adds a producer.void
addSession(ConnectionContext context, SessionInfo info)
Adds a session.void
beginTransaction(ConnectionContext context, TransactionId xid)
Starts a transaction.void
brokerServiceStarted()
called when the brokerService startsvoid
commitTransaction(ConnectionContext context, TransactionId xid, boolean onePhase)
Commits a transaction.void
fastProducer(ConnectionContext context, ProducerInfo producerInfo, ActiveMQDestination destination)
Called to notify a producer is too fastvoid
forgetTransaction(ConnectionContext context, TransactionId transactionId)
Forgets a transaction.Broker
getAdaptor(Class<?> type)
Get a Broker from the Broker Stack that is a particular classConnectionContext
getAdminConnectionContext()
BrokerId
getBrokerId()
Get the id of the brokerString
getBrokerName()
Get the name of the brokerlong
getBrokerSequenceId()
BrokerService
getBrokerService()
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()
ThreadPoolExecutor
getExecutor()
BrokerInfo[]
getPeerBrokerInfos()
Get the BrokerInfo's of any connected BrokersTransactionId[]
getPreparedTransactions(ConnectionContext context)
Gets a list of all the prepared xa transactions.Broker
getRoot()
Ensure we get the Broker at the top of the StackScheduler
getScheduler()
PListStore
getTempDataStore()
URI
getVmConnectorURI()
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 brokerboolean
isFaultTolerantConfiguration()
void
isFull(ConnectionContext context, Destination destination, Usage<?> usage)
Called when a Usage reaches a limitboolean
isStopped()
void
messageConsumed(ConnectionContext context, MessageReference messageReference)
called when message is consumedvoid
messageDelivered(ConnectionContext context, MessageReference messageReference)
Called when message is delivered to the brokervoid
messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
Called when a message is discarded - e.g.void
messageExpired(ConnectionContext context, MessageReference messageReference, Subscription subscription)
A Message has Expiredvoid
networkBridgeStarted(BrokerInfo brokerInfo, boolean createdByDuplex, String remoteIp)
void
networkBridgeStopped(BrokerInfo brokerInfo)
void
nowMasterBroker()
called when the broker becomes the master in a master/slave configurationvoid
postProcessDispatch(MessageDispatch messageDispatch)
Notify the Broker that a dispatch has happenedint
prepareTransaction(ConnectionContext context, TransactionId xid)
Prepares a transaction.void
preProcessDispatch(MessageDispatch messageDispatch)
Notify the Broker that a dispatch is going to happenvoid
removeBroker(Connection connection, BrokerInfo info)
Remove a BrokerInfovoid
removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error)
A client is disconnecting from the broker.void
removeDestinationInfo(ConnectionContext context, DestinationInfo info)
Remove and process a DestinationInfo objectvoid
removeProducer(ConnectionContext context, ProducerInfo info)
Removes a producer.void
removeSession(ConnectionContext context, SessionInfo info)
Removes a session.void
rollbackTransaction(ConnectionContext context, TransactionId xid)
Rollsback a transaction.boolean
sendToDeadLetterQueue(ConnectionContext context, 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
-
-
-
-
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:
addProducer
in 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:
removeProducer
in 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)
-
-