org.apache.activemq.broker
Class BrokerService

java.lang.Object
  extended by org.apache.activemq.broker.BrokerService
All Implemented Interfaces:
Service
Direct Known Subclasses:
SslBrokerService, XBeanBrokerService

public class BrokerService
extends java.lang.Object
implements Service

Manages the lifecycle of an ActiveMQ Broker. A BrokerService consists of a number of transport connectors, network connectors and a bunch of properties which can be used to configure the broker as its lazily created.


Field Summary
static java.lang.String DEFAULT_BROKER_NAME
           
static java.lang.String DEFAULT_PORT
           
protected  DestinationFactory destinationFactory
           
static java.lang.String LOCAL_HOST_NAME
           
protected  java.util.concurrent.CountDownLatch slaveStartSignal
           
 
Constructor Summary
BrokerService()
           
 
Method Summary
 TransportConnector addConnector(java.lang.String bindAddress)
          Adds a new transport connector for the given bind address
 TransportConnector addConnector(TransportConnector connector)
          Adds a new transport connector
 TransportConnector addConnector(TransportServer transport)
          Adds a new transport connector for the given TransportServer transport
 TransportConnector addConnector(java.net.URI bindAddress)
          Adds a new transport connector for the given bind address
protected  Broker addInterceptors(Broker broker)
          Strategy method to add interceptors to the broker
 JmsConnector addJmsConnector(JmsConnector connector)
           
 NetworkConnector addNetworkConnector(NetworkConnector connector)
          Adds a new network connector to connect this broker to a federated network
 NetworkConnector addNetworkConnector(java.lang.String discoveryAddress)
          Adds a new network connector using the given discovery address
 NetworkConnector addNetworkConnector(java.net.URI discoveryAddress)
          Adds a new network connector using the given discovery address
 ProxyConnector addProxyConnector(ProxyConnector connector)
           
 ProxyConnector addProxyConnector(java.lang.String bindAddress)
          Adds a new proxy connector using the given bind address
 ProxyConnector addProxyConnector(java.net.URI bindAddress)
          Adds a new proxy connector using the given bind address
 void addService(Service service)
          Adds a new service so that it will be started as part of the broker lifecycle
protected  void addShutdownHook()
           
 void addShutdownHook(java.lang.Runnable hook)
           
 void autoStart()
           
 boolean checkQueueSize(java.lang.String queueName)
           
protected  void configureService(java.lang.Object service)
          Perform any custom dependency injection
protected  void configureServices(java.lang.Object[] services)
          Perform any custom dependency injection
protected  void containerShutdown()
          Causes a clean shutdown of the container when the VM is being shut down
protected  Broker createBroker()
          Factory method to create a new broker
protected  javax.management.ObjectName createBrokerObjectName()
           
protected  DestinationInterceptor[] createDefaultDestinationInterceptor()
          Create the default destination interceptor
 javax.management.ObjectName createDuplexNetworkConnectorObjectName(java.lang.String transport)
           
protected  javax.management.ObjectName createNetworkConnectorObjectName(NetworkConnector connector)
           
protected  PersistenceAdapter createPersistenceAdapter()
           
protected  Broker createRegionBroker()
          Factory method to create the core region broker onto which interceptors are added
protected  Broker createRegionBroker(DestinationInterceptor destinationInterceptor)
           
protected  TransportConnector createTransportConnector(java.net.URI brokerURI)
           
 void deleteAllMessages()
          Delete all messages from the persistent store
 ConnectionContext getAdminConnectionContext()
          Returns the broker's administration connection context used for configuring the broker at startup
 BrokerView getAdminView()
          Returns the administration view of the broker; used to create and destroy resources such as queues and topics.
 Broker getBroker()
          Returns the message broker
 BrokerContext getBrokerContext()
           
 java.io.File getBrokerDataDirectory()
           
 java.lang.String getBrokerName()
           
 javax.management.ObjectName getBrokerObjectName()
           
 TransportConnector getConnectorByName(java.lang.String connectorName)
           
 SystemUsage getConsumerSystemUsage()
           
 int getConsumerSystemUsagePortion()
           
 java.io.File getDataDirectoryFile()
           
 java.lang.String getDefaultSocketURIString()
           
 Destination getDestination(ActiveMQDestination destination)
          Looks up and lazily creates if necessary the destination for the given JMS name
 DestinationInterceptor[] getDestinationInterceptors()
           
 PolicyMap getDestinationPolicy()
           
 ActiveMQDestination[] getDestinations()
           
protected  java.util.concurrent.ThreadPoolExecutor getExecutor()
           
 IOExceptionHandler getIoExceptionHandler()
           
 JmsConnector[] getJmsBridgeConnectors()
           
 ManagementContext getManagementContext()
           
 java.lang.String getMasterConnectorURI()
           
 MessageAuthorizationPolicy getMessageAuthorizationPolicy()
           
 NetworkConnector getNetworkConnectorByName(java.lang.String connectorName)
           
 java.util.List<NetworkConnector> getNetworkConnectors()
           
 java.lang.String[] getNetworkConnectorURIs()
           
 PersistenceAdapter getPersistenceAdapter()
           
 PersistenceAdapterFactory getPersistenceFactory()
           
 TaskRunnerFactory getPersistenceTaskRunnerFactory()
           
 int getPersistenceThreadPriority()
           
 BrokerPlugin[] getPlugins()
           
protected  java.lang.Object getPort(java.util.Map options)
          Extracts the port from the options
 SystemUsage getProducerSystemUsage()
           
 int getProducerSystemUsagePortion()
           
 java.util.List<ProxyConnector> getProxyConnectors()
           
 Broker getRegionBroker()
           
 int getSchedulePeriodForDestinationPurge()
           
 Scheduler getScheduler()
           
 java.io.File getSchedulerDirectoryFile()
           
 Service[] getServices()
           
 java.util.concurrent.CountDownLatch getSlaveStartSignal()
           
 SslContext getSslContext()
           
 int getSystemExitOnShutdownExitCode()
           
 SystemUsage getSystemUsage()
           
 TaskRunnerFactory getTaskRunnerFactory()
           
 int getTaskRunnerPriority()
           
 PListStore getTempDataStore()
           
 int getTimeBeforePurgeTempDestinations()
           
 java.io.File getTmpDataDirectory()
           
 java.util.List<TransportConnector> getTransportConnectors()
           
 java.lang.String[] getTransportConnectorURIs()
           
 java.util.Map<java.lang.String,java.lang.String> getTransportConnectorURIsAsMap()
           
 java.net.URI getVmConnectorURI()
           
 long getWaitForSlaveTimeout()
           
 void handleIOException(java.io.IOException exception)
           
 boolean isAdvisorySupport()
           
 boolean isAllowTempAutoCreationOnSend()
           
 boolean isCacheTempDestinations()
           
 boolean isDedicatedTaskRunner()
           
 boolean isDeleteAllMessagesOnStartup()
           
 boolean isEnableStatistics()
           
 boolean isKeepDurableSubsActive()
           
 boolean isMonitorConnectionSplits()
           
 boolean isNetworkConnectorStartAsync()
           
 boolean isPassiveSlave()
          Get the passiveSlave
 boolean isPersistent()
           
 boolean isPopulateJMSXUserID()
           
 boolean isSchedulerSupport()
           
 boolean isShutdownOnMasterFailure()
           
 boolean isShutdownOnSlaveFailure()
           
 boolean isSlave()
           
 boolean isSplitSystemUsageForProducersConsumers()
           
 boolean isStarted()
           
 boolean isSupportFailOver()
           
 boolean isSystemExitOnShutdown()
           
 boolean isUseAuthenticatedPrincipalForJMSXUserID()
           
 boolean isUseJmx()
           
 boolean isUseLocalHostBrokerName()
           
 boolean isUseLoggingForShutdownErrors()
           
 boolean isUseMirroredQueues()
           
 boolean isUseShutdownHook()
           
 boolean isUseTempMirroredQueues()
           
 boolean isUseVirtualTopics()
           
 boolean isWaitForSlave()
           
protected  void logError(java.lang.String message, java.lang.Throwable e)
           
 void masterFailed()
           
protected  void processHelperProperties()
          Handles any lazy-creation helper properties which are added to make things easier to configure inside environments such as Spring
protected  TransportConnector registerConnectorMBean(TransportConnector connector)
           
protected  void registerFTConnectorMBean(MasterConnector connector)
           
protected  void registerJmsConnectorMBean(JmsConnector connector)
           
protected  void registerNetworkConnectorMBean(NetworkConnector connector)
           
protected  PersistenceAdapter registerPersistenceAdapterMBean(PersistenceAdapter adaptor)
           
protected  void registerProxyConnectorMBean(ProxyConnector connector)
           
 boolean removeConnector(TransportConnector connector)
          Stops and removes a transport connector from the broker.
 void removeDestination(ActiveMQDestination destination)
           
 JmsConnector removeJmsConnector(JmsConnector connector)
           
 boolean removeNetworkConnector(NetworkConnector connector)
          Removes the given network connector without stopping it.
 void removeService(Service service)
           
protected  void removeShutdownHook()
           
 void removeShutdownHook(java.lang.Runnable hook)
           
 void setAdminView(BrokerView adminView)
           
 void setAdvisorySupport(boolean advisorySupport)
          Allows the support of advisory messages to be disabled for performance reasons.
 void setAllowTempAutoCreationOnSend(boolean allowTempAutoCreationOnSend)
          enable if temp destinations need to be propagated through a network when advisorySupport==false.
 void setBrokerContext(BrokerContext brokerContext)
           
 void setBrokerId(java.lang.String brokerId)
           
 void setBrokerName(java.lang.String brokerName)
          Sets the name of this broker; which must be unique in the network
 void setBrokerObjectName(javax.management.ObjectName brokerObjectName)
          Sets the JMX ObjectName for this broker
 void setCacheTempDestinations(boolean cacheTempDestinations)
           
 void setConsumerSystemUsage(SystemUsage consumerSystemUsaage)
           
 void setConsumerSystemUsagePortion(int consumerSystemUsagePortion)
           
 void setDataDirectory(java.lang.String dataDirectory)
          Sets the directory in which the data files will be stored by default for the JDBC and Journal persistence adaptors.
 void setDataDirectoryFile(java.io.File dataDirectoryFile)
          Sets the directory in which the data files will be stored by default for the JDBC and Journal persistence adaptors.
 void setDedicatedTaskRunner(boolean dedicatedTaskRunner)
           
 void setDeleteAllMessagesOnStartup(boolean deletePersistentMessagesOnStartup)
          Sets whether or not all messages are deleted on startup - mostly only useful for testing.
 void setDestinationFactory(DestinationFactory destinationFactory)
           
 void setDestinationInterceptors(DestinationInterceptor[] destinationInterceptors)
          Sets the destination interceptors to use
 void setDestinationPolicy(PolicyMap policyMap)
          Sets the destination specific policies available either for exact destinations or for wildcard areas of destinations.
 void setDestinations(ActiveMQDestination[] destinations)
          Sets the destinations which should be loaded/created on startup
 void setEnableStatistics(boolean enableStatistics)
          Sets whether or not the Broker's services enable statistics or not.
 void setIoExceptionHandler(IOExceptionHandler ioExceptionHandler)
          override the Default IOException handler, called when persistence adapter has experiences File or JDBC I/O Exceptions
 void setJmsBridgeConnectors(JmsConnector[] jmsConnectors)
           
 void setKeepDurableSubsActive(boolean keepDurableSubsActive)
           
 void setManagementContext(ManagementContext managementContext)
           
 void setMasterConnectorURI(java.lang.String masterConnectorURI)
           
 void setMessageAuthorizationPolicy(MessageAuthorizationPolicy messageAuthorizationPolicy)
          Sets the policy used to decide if the current connection is authorized to consume a given message
 void setMonitorConnectionSplits(boolean monitorConnectionSplits)
           
 void setNetworkConnectors(java.util.List networkConnectors)
          Sets the network connectors which this broker will use to connect to other brokers in a federated network
 void setNetworkConnectorStartAsync(boolean networkConnectorStartAsync)
           
 void setNetworkConnectorURIs(java.lang.String[] networkConnectorURIs)
           
 void setPassiveSlave(boolean passiveSlave)
          Set the passiveSlave
 void setPersistenceAdapter(PersistenceAdapter persistenceAdapter)
          Sets the persistence adaptor implementation to use for this broker
 void setPersistenceFactory(PersistenceAdapterFactory persistenceFactory)
           
 void setPersistenceTaskRunnerFactory(TaskRunnerFactory persistenceTaskRunnerFactory)
           
 void setPersistenceThreadPriority(int persistenceThreadPriority)
           
 void setPersistent(boolean persistent)
          Sets whether or not persistence is enabled or disabled.
 void setPlugins(BrokerPlugin[] plugins)
          Sets a number of broker plugins to install such as for security authentication or authorization
 void setPopulateJMSXUserID(boolean populateJMSXUserID)
          Sets whether or not the broker should populate the JMSXUserID header.
 void setProducerSystemUsage(SystemUsage producerUsageManager)
           
 void setProducerSystemUsagePortion(int producerSystemUsagePortion)
           
 void setProxyConnectors(java.util.List proxyConnectors)
          Sets the network connectors which this broker will use to connect to other brokers in a federated network
 void setRegionBroker(Broker regionBroker)
           
 void setSchedulePeriodForDestinationPurge(int schedulePeriodForDestinationPurge)
           
 void setSchedulerDirectory(java.lang.String schedulerDirectory)
           
 void setSchedulerDirectoryFile(java.io.File schedulerDirectory)
           
 void setSchedulerSupport(boolean schedulerSupport)
           
 void setServices(Service[] services)
          Sets the services associated with this broker such as a MasterConnector
 void setShutdownHooks(java.util.List<java.lang.Runnable> hooks)
          Sets hooks to be executed when broker shut down
 void setShutdownOnMasterFailure(boolean shutdownOnMasterFailure)
           
 void setShutdownOnSlaveFailure(boolean shutdownOnSlaveFailure)
           
 void setSplitSystemUsageForProducersConsumers(boolean splitSystemUsageForProducersConsumers)
           
 void setSslContext(SslContext sslContext)
           
 void setSupportFailOver(boolean supportFailOver)
           
 void setSystemExitOnShutdown(boolean systemExitOnShutdown)
           
 void setSystemExitOnShutdownExitCode(int systemExitOnShutdownExitCode)
           
 void setSystemUsage(SystemUsage memoryManager)
           
 void setTaskRunnerFactory(TaskRunnerFactory taskRunnerFactory)
           
 void setTaskRunnerPriority(int taskRunnerPriority)
           
 void setTempDataStore(PListStore tempDataStore)
           
 void setTimeBeforePurgeTempDestinations(int timeBeforePurgeTempDestinations)
           
 void setTmpDataDirectory(java.io.File tmpDataDirectory)
           
 void setTransportConnectors(java.util.List<TransportConnector> transportConnectors)
          Sets the transport connectors which this broker will listen on for new clients
 void setTransportConnectorURIs(java.lang.String[] transportConnectorURIs)
           
 void setUseAuthenticatedPrincipalForJMSXUserID(boolean useAuthenticatedPrincipalForJMSXUserID)
           
 void setUseJmx(boolean useJmx)
          Sets whether or not the Broker's services should be exposed into JMX or not.
 void setUseLocalHostBrokerName(boolean useLocalHostBrokerName)
           
 void setUseLoggingForShutdownErrors(boolean useLoggingForShutdownErrors)
          Sets whether or not we should use commons-logging when reporting errors when shutting down the broker
 void setUseMirroredQueues(boolean useMirroredQueues)
          Sets whether or not Mirrored Queues should be supported by default if they have not been explicitly configured.
 void setUseShutdownHook(boolean useShutdownHook)
          Sets whether or not we should use a shutdown handler to close down the broker cleanly if the JVM is terminated.
 void setUseTempMirroredQueues(boolean useTempMirroredQueues)
           
 void setUseVirtualTopics(boolean useVirtualTopics)
          Sets whether or not Virtual Topics should be supported by default if they have not been explicitly configured.
 void setVmConnectorURI(java.net.URI vmConnectorURI)
           
 void setWaitForSlave(boolean waitForSlave)
           
 void setWaitForSlaveTimeout(long waitForSlaveTimeout)
           
protected  boolean shouldAutostart()
           
protected  void slaveConnectionEstablished()
           
 void start()
           
 void start(boolean force)
           
 void startAllConnectors()
          Start all transport and network connections, proxies and bridges
protected  void startDestinations()
          Starts any configured destinations on startup
protected  void startDestinationsInPersistenceStore(Broker broker)
          Starts all destiantions in persistence store.
protected  void startManagementContext()
           
protected  TransportConnector startTransportConnector(TransportConnector connector)
           
 void stop()
           
 void stopAllConnectors(ServiceStopper stopper)
           
 void stopGracefully(java.lang.String connectorName, java.lang.String queueName, long timeout, long pollInterval)
          This method (both connectorName and queueName are using regex to match) 1.
 java.lang.String toString()
           
protected  void unregisterConnectorMBean(TransportConnector connector)
           
protected  void unregisterNetworkConnectorMBean(NetworkConnector connector)
           
protected  void unregisterPersistenceAdapterMBean(PersistenceAdapter adaptor)
           
protected  void waitForSlave()
           
 boolean waitUntilStarted()
          A helper method to block the caller thread until the broker has fully started
 void waitUntilStopped()
          A helper method to block the caller thread until the broker has been stopped
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

slaveStartSignal

protected java.util.concurrent.CountDownLatch slaveStartSignal

DEFAULT_PORT

public static final java.lang.String DEFAULT_PORT
See Also:
Constant Field Values

LOCAL_HOST_NAME

public static final java.lang.String LOCAL_HOST_NAME

DEFAULT_BROKER_NAME

public static final java.lang.String DEFAULT_BROKER_NAME
See Also:
Constant Field Values

destinationFactory

protected DestinationFactory destinationFactory
Constructor Detail

BrokerService

public BrokerService()
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

addConnector

public TransportConnector addConnector(java.lang.String bindAddress)
                                throws java.lang.Exception
Adds a new transport connector for the given bind address

Returns:
the newly created and added transport connector
Throws:
java.lang.Exception

addConnector

public TransportConnector addConnector(java.net.URI bindAddress)
                                throws java.lang.Exception
Adds a new transport connector for the given bind address

Returns:
the newly created and added transport connector
Throws:
java.lang.Exception

addConnector

public TransportConnector addConnector(TransportServer transport)
                                throws java.lang.Exception
Adds a new transport connector for the given TransportServer transport

Returns:
the newly created and added transport connector
Throws:
java.lang.Exception

addConnector

public TransportConnector addConnector(TransportConnector connector)
                                throws java.lang.Exception
Adds a new transport connector

Returns:
the transport connector
Throws:
java.lang.Exception

removeConnector

public boolean removeConnector(TransportConnector connector)
                        throws java.lang.Exception
Stops and removes a transport connector from the broker.

Parameters:
connector -
Returns:
true if the connector has been previously added to the broker
Throws:
java.lang.Exception

addNetworkConnector

public NetworkConnector addNetworkConnector(java.lang.String discoveryAddress)
                                     throws java.lang.Exception
Adds a new network connector using the given discovery address

Returns:
the newly created and added network connector
Throws:
java.lang.Exception

addProxyConnector

public ProxyConnector addProxyConnector(java.lang.String bindAddress)
                                 throws java.lang.Exception
Adds a new proxy connector using the given bind address

Returns:
the newly created and added network connector
Throws:
java.lang.Exception

addNetworkConnector

public NetworkConnector addNetworkConnector(java.net.URI discoveryAddress)
                                     throws java.lang.Exception
Adds a new network connector using the given discovery address

Returns:
the newly created and added network connector
Throws:
java.lang.Exception

addProxyConnector

public ProxyConnector addProxyConnector(java.net.URI bindAddress)
                                 throws java.lang.Exception
Adds a new proxy connector using the given bind address

Returns:
the newly created and added network connector
Throws:
java.lang.Exception

addNetworkConnector

public NetworkConnector addNetworkConnector(NetworkConnector connector)
                                     throws java.lang.Exception
Adds a new network connector to connect this broker to a federated network

Throws:
java.lang.Exception

removeNetworkConnector

public boolean removeNetworkConnector(NetworkConnector connector)
Removes the given network connector without stopping it. The caller should call NetworkConnector.stop() to close the connector


addProxyConnector

public ProxyConnector addProxyConnector(ProxyConnector connector)
                                 throws java.lang.Exception
Throws:
java.lang.Exception

addJmsConnector

public JmsConnector addJmsConnector(JmsConnector connector)
                             throws java.lang.Exception
Throws:
java.lang.Exception

removeJmsConnector

public JmsConnector removeJmsConnector(JmsConnector connector)

getMasterConnectorURI

public java.lang.String getMasterConnectorURI()
Returns:
Returns the masterConnectorURI.

setMasterConnectorURI

public void setMasterConnectorURI(java.lang.String masterConnectorURI)
Parameters:
masterConnectorURI - The masterConnectorURI to set.

isSlave

public boolean isSlave()
Returns:
true if this Broker is a slave to a Master

masterFailed

public void masterFailed()

isStarted

public boolean isStarted()

start

public void start(boolean force)
           throws java.lang.Exception
Throws:
java.lang.Exception

shouldAutostart

protected boolean shouldAutostart()

autoStart

@PostConstruct
public void autoStart()
               throws java.lang.Exception
Throws:
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Specified by:
start in interface Service
Throws:
java.lang.Exception

stop

@PreDestroy
public void stop()
          throws java.lang.Exception
Specified by:
stop in interface Service
Throws:
java.lang.Exception

checkQueueSize

public boolean checkQueueSize(java.lang.String queueName)

stopGracefully

public void stopGracefully(java.lang.String connectorName,
                           java.lang.String queueName,
                           long timeout,
                           long pollInterval)
                    throws java.lang.Exception
This method (both connectorName and queueName are using regex to match) 1. stop the connector (supposed the user input the connector which the clients connect to) 2. to check whether there is any pending message on the queues defined by queueName 3. supposedly, after stop the connector, client should failover to other broker and pending messages should be forwarded. if no pending messages, the method finally call stop to stop the broker.

Parameters:
connectorName -
queueName -
timeout -
pollInterval -
Throws:
java.lang.Exception

waitUntilStopped

public void waitUntilStopped()
A helper method to block the caller thread until the broker has been stopped


waitUntilStarted

public boolean waitUntilStarted()
A helper method to block the caller thread until the broker has fully started

Returns:
boolean true if wait succeeded false if broker was not started or was stopped

getBroker

public Broker getBroker()
                 throws java.lang.Exception
Returns the message broker

Throws:
java.lang.Exception

getAdminView

public BrokerView getAdminView()
                        throws java.lang.Exception
Returns the administration view of the broker; used to create and destroy resources such as queues and topics. Note this method returns null if JMX is disabled.

Throws:
java.lang.Exception

setAdminView

public void setAdminView(BrokerView adminView)

getBrokerName

public java.lang.String getBrokerName()

setBrokerName

public void setBrokerName(java.lang.String brokerName)
Sets the name of this broker; which must be unique in the network

Parameters:
brokerName -

getPersistenceFactory

public PersistenceAdapterFactory getPersistenceFactory()

getDataDirectoryFile

public java.io.File getDataDirectoryFile()

getBrokerDataDirectory

public java.io.File getBrokerDataDirectory()

setDataDirectory

public void setDataDirectory(java.lang.String dataDirectory)
Sets the directory in which the data files will be stored by default for the JDBC and Journal persistence adaptors.

Parameters:
dataDirectory - the directory to store data files

setDataDirectoryFile

public void setDataDirectoryFile(java.io.File dataDirectoryFile)
Sets the directory in which the data files will be stored by default for the JDBC and Journal persistence adaptors.

Parameters:
dataDirectoryFile - the directory to store data files

getTmpDataDirectory

public java.io.File getTmpDataDirectory()
Returns:
the tmpDataDirectory

setTmpDataDirectory

public void setTmpDataDirectory(java.io.File tmpDataDirectory)
Parameters:
tmpDataDirectory - the tmpDataDirectory to set

setPersistenceFactory

public void setPersistenceFactory(PersistenceAdapterFactory persistenceFactory)

setDestinationFactory

public void setDestinationFactory(DestinationFactory destinationFactory)

isPersistent

public boolean isPersistent()

setPersistent

public void setPersistent(boolean persistent)
Sets whether or not persistence is enabled or disabled.


isPopulateJMSXUserID

public boolean isPopulateJMSXUserID()

setPopulateJMSXUserID

public void setPopulateJMSXUserID(boolean populateJMSXUserID)
Sets whether or not the broker should populate the JMSXUserID header.


getSystemUsage

public SystemUsage getSystemUsage()

setSystemUsage

public void setSystemUsage(SystemUsage memoryManager)

getConsumerSystemUsage

public SystemUsage getConsumerSystemUsage()
                                   throws java.io.IOException
Returns:
the consumerUsageManager
Throws:
java.io.IOException

setConsumerSystemUsage

public void setConsumerSystemUsage(SystemUsage consumerSystemUsaage)
Parameters:
consumerSystemUsaage - the storeSystemUsage to set

getProducerSystemUsage

public SystemUsage getProducerSystemUsage()
                                   throws java.io.IOException
Returns:
the producerUsageManager
Throws:
java.io.IOException

setProducerSystemUsage

public void setProducerSystemUsage(SystemUsage producerUsageManager)
Parameters:
producerUsageManager - the producerUsageManager to set

getPersistenceAdapter

public PersistenceAdapter getPersistenceAdapter()
                                         throws java.io.IOException
Throws:
java.io.IOException

setPersistenceAdapter

public void setPersistenceAdapter(PersistenceAdapter persistenceAdapter)
                           throws java.io.IOException
Sets the persistence adaptor implementation to use for this broker

Throws:
java.io.IOException

getTaskRunnerFactory

public TaskRunnerFactory getTaskRunnerFactory()

setTaskRunnerFactory

public void setTaskRunnerFactory(TaskRunnerFactory taskRunnerFactory)

getPersistenceTaskRunnerFactory

public TaskRunnerFactory getPersistenceTaskRunnerFactory()

setPersistenceTaskRunnerFactory

public void setPersistenceTaskRunnerFactory(TaskRunnerFactory persistenceTaskRunnerFactory)

isUseJmx

public boolean isUseJmx()

isEnableStatistics

public boolean isEnableStatistics()

setEnableStatistics

public void setEnableStatistics(boolean enableStatistics)
Sets whether or not the Broker's services enable statistics or not.


setUseJmx

public void setUseJmx(boolean useJmx)
Sets whether or not the Broker's services should be exposed into JMX or not.


getBrokerObjectName

public javax.management.ObjectName getBrokerObjectName()
                                                throws java.io.IOException
Throws:
java.io.IOException

setBrokerObjectName

public void setBrokerObjectName(javax.management.ObjectName brokerObjectName)
Sets the JMX ObjectName for this broker


getManagementContext

public ManagementContext getManagementContext()

setManagementContext

public void setManagementContext(ManagementContext managementContext)

getNetworkConnectorByName

public NetworkConnector getNetworkConnectorByName(java.lang.String connectorName)

getNetworkConnectorURIs

public java.lang.String[] getNetworkConnectorURIs()

setNetworkConnectorURIs

public void setNetworkConnectorURIs(java.lang.String[] networkConnectorURIs)

getConnectorByName

public TransportConnector getConnectorByName(java.lang.String connectorName)

getTransportConnectorURIsAsMap

public java.util.Map<java.lang.String,java.lang.String> getTransportConnectorURIsAsMap()

getTransportConnectorURIs

public java.lang.String[] getTransportConnectorURIs()

setTransportConnectorURIs

public void setTransportConnectorURIs(java.lang.String[] transportConnectorURIs)

getJmsBridgeConnectors

public JmsConnector[] getJmsBridgeConnectors()
Returns:
Returns the jmsBridgeConnectors.

setJmsBridgeConnectors

public void setJmsBridgeConnectors(JmsConnector[] jmsConnectors)
Parameters:
jmsConnectors - The jmsBridgeConnectors to set.

getServices

public Service[] getServices()

setServices

public void setServices(Service[] services)
Sets the services associated with this broker such as a MasterConnector


addService

public void addService(Service service)
Adds a new service so that it will be started as part of the broker lifecycle


removeService

public void removeService(Service service)

isUseLoggingForShutdownErrors

public boolean isUseLoggingForShutdownErrors()

setUseLoggingForShutdownErrors

public void setUseLoggingForShutdownErrors(boolean useLoggingForShutdownErrors)
Sets whether or not we should use commons-logging when reporting errors when shutting down the broker


isUseShutdownHook

public boolean isUseShutdownHook()

setUseShutdownHook

public void setUseShutdownHook(boolean useShutdownHook)
Sets whether or not we should use a shutdown handler to close down the broker cleanly if the JVM is terminated. It is recommended you leave this enabled.


isAdvisorySupport

public boolean isAdvisorySupport()

setAdvisorySupport

public void setAdvisorySupport(boolean advisorySupport)
Allows the support of advisory messages to be disabled for performance reasons.


getTransportConnectors

public java.util.List<TransportConnector> getTransportConnectors()

setTransportConnectors

public void setTransportConnectors(java.util.List<TransportConnector> transportConnectors)
                            throws java.lang.Exception
Sets the transport connectors which this broker will listen on for new clients

Throws:
java.lang.Exception

getNetworkConnectors

public java.util.List<NetworkConnector> getNetworkConnectors()

getProxyConnectors

public java.util.List<ProxyConnector> getProxyConnectors()

setNetworkConnectors

public void setNetworkConnectors(java.util.List networkConnectors)
                          throws java.lang.Exception
Sets the network connectors which this broker will use to connect to other brokers in a federated network

Throws:
java.lang.Exception

setProxyConnectors

public void setProxyConnectors(java.util.List proxyConnectors)
                        throws java.lang.Exception
Sets the network connectors which this broker will use to connect to other brokers in a federated network

Throws:
java.lang.Exception

getDestinationPolicy

public PolicyMap getDestinationPolicy()

setDestinationPolicy

public void setDestinationPolicy(PolicyMap policyMap)
Sets the destination specific policies available either for exact destinations or for wildcard areas of destinations.


getPlugins

public BrokerPlugin[] getPlugins()

setPlugins

public void setPlugins(BrokerPlugin[] plugins)
Sets a number of broker plugins to install such as for security authentication or authorization


getMessageAuthorizationPolicy

public MessageAuthorizationPolicy getMessageAuthorizationPolicy()

setMessageAuthorizationPolicy

public void setMessageAuthorizationPolicy(MessageAuthorizationPolicy messageAuthorizationPolicy)
Sets the policy used to decide if the current connection is authorized to consume a given message


deleteAllMessages

public void deleteAllMessages()
                       throws java.io.IOException
Delete all messages from the persistent store

Throws:
java.io.IOException

isDeleteAllMessagesOnStartup

public boolean isDeleteAllMessagesOnStartup()

setDeleteAllMessagesOnStartup

public void setDeleteAllMessagesOnStartup(boolean deletePersistentMessagesOnStartup)
Sets whether or not all messages are deleted on startup - mostly only useful for testing.


getVmConnectorURI

public java.net.URI getVmConnectorURI()

setVmConnectorURI

public void setVmConnectorURI(java.net.URI vmConnectorURI)

getDefaultSocketURIString

public java.lang.String getDefaultSocketURIString()

isShutdownOnMasterFailure

public boolean isShutdownOnMasterFailure()
Returns:
Returns the shutdownOnMasterFailure.

setShutdownOnMasterFailure

public void setShutdownOnMasterFailure(boolean shutdownOnMasterFailure)
Parameters:
shutdownOnMasterFailure - The shutdownOnMasterFailure to set.

isKeepDurableSubsActive

public boolean isKeepDurableSubsActive()

setKeepDurableSubsActive

public void setKeepDurableSubsActive(boolean keepDurableSubsActive)

isUseVirtualTopics

public boolean isUseVirtualTopics()

setUseVirtualTopics

public void setUseVirtualTopics(boolean useVirtualTopics)
Sets whether or not Virtual Topics should be supported by default if they have not been explicitly configured.


getDestinationInterceptors

public DestinationInterceptor[] getDestinationInterceptors()

isUseMirroredQueues

public boolean isUseMirroredQueues()

setUseMirroredQueues

public void setUseMirroredQueues(boolean useMirroredQueues)
Sets whether or not Mirrored Queues should be supported by default if they have not been explicitly configured.


setDestinationInterceptors

public void setDestinationInterceptors(DestinationInterceptor[] destinationInterceptors)
Sets the destination interceptors to use


getDestinations

public ActiveMQDestination[] getDestinations()

setDestinations

public void setDestinations(ActiveMQDestination[] destinations)
Sets the destinations which should be loaded/created on startup


getTempDataStore

public PListStore getTempDataStore()
Returns:
the tempDataStore

setTempDataStore

public void setTempDataStore(PListStore tempDataStore)
Parameters:
tempDataStore - the tempDataStore to set

getPersistenceThreadPriority

public int getPersistenceThreadPriority()

setPersistenceThreadPriority

public void setPersistenceThreadPriority(int persistenceThreadPriority)

isUseLocalHostBrokerName

public boolean isUseLocalHostBrokerName()
Returns:
the useLocalHostBrokerName

setUseLocalHostBrokerName

public void setUseLocalHostBrokerName(boolean useLocalHostBrokerName)
Parameters:
useLocalHostBrokerName - the useLocalHostBrokerName to set

isSupportFailOver

public boolean isSupportFailOver()
Returns:
the supportFailOver

setSupportFailOver

public void setSupportFailOver(boolean supportFailOver)
Parameters:
supportFailOver - the supportFailOver to set

getDestination

public Destination getDestination(ActiveMQDestination destination)
                           throws java.lang.Exception
Looks up and lazily creates if necessary the destination for the given JMS name

Throws:
java.lang.Exception

removeDestination

public void removeDestination(ActiveMQDestination destination)
                       throws java.lang.Exception
Throws:
java.lang.Exception

getProducerSystemUsagePortion

public int getProducerSystemUsagePortion()

setProducerSystemUsagePortion

public void setProducerSystemUsagePortion(int producerSystemUsagePortion)

getConsumerSystemUsagePortion

public int getConsumerSystemUsagePortion()

setConsumerSystemUsagePortion

public void setConsumerSystemUsagePortion(int consumerSystemUsagePortion)

isSplitSystemUsageForProducersConsumers

public boolean isSplitSystemUsageForProducersConsumers()

setSplitSystemUsageForProducersConsumers

public void setSplitSystemUsageForProducersConsumers(boolean splitSystemUsageForProducersConsumers)

isMonitorConnectionSplits

public boolean isMonitorConnectionSplits()

setMonitorConnectionSplits

public void setMonitorConnectionSplits(boolean monitorConnectionSplits)

getTaskRunnerPriority

public int getTaskRunnerPriority()

setTaskRunnerPriority

public void setTaskRunnerPriority(int taskRunnerPriority)

isDedicatedTaskRunner

public boolean isDedicatedTaskRunner()

setDedicatedTaskRunner

public void setDedicatedTaskRunner(boolean dedicatedTaskRunner)

isCacheTempDestinations

public boolean isCacheTempDestinations()

setCacheTempDestinations

public void setCacheTempDestinations(boolean cacheTempDestinations)

getTimeBeforePurgeTempDestinations

public int getTimeBeforePurgeTempDestinations()

setTimeBeforePurgeTempDestinations

public void setTimeBeforePurgeTempDestinations(int timeBeforePurgeTempDestinations)

isUseTempMirroredQueues

public boolean isUseTempMirroredQueues()

setUseTempMirroredQueues

public void setUseTempMirroredQueues(boolean useTempMirroredQueues)

processHelperProperties

protected void processHelperProperties()
                                throws java.lang.Exception
Handles any lazy-creation helper properties which are added to make things easier to configure inside environments such as Spring

Throws:
java.lang.Exception

stopAllConnectors

public void stopAllConnectors(ServiceStopper stopper)

registerConnectorMBean

protected TransportConnector registerConnectorMBean(TransportConnector connector)
                                             throws java.io.IOException
Throws:
java.io.IOException

unregisterConnectorMBean

protected void unregisterConnectorMBean(TransportConnector connector)
                                 throws java.io.IOException
Throws:
java.io.IOException

registerPersistenceAdapterMBean

protected PersistenceAdapter registerPersistenceAdapterMBean(PersistenceAdapter adaptor)
                                                      throws java.io.IOException
Throws:
java.io.IOException

unregisterPersistenceAdapterMBean

protected void unregisterPersistenceAdapterMBean(PersistenceAdapter adaptor)
                                          throws java.io.IOException
Throws:
java.io.IOException

registerNetworkConnectorMBean

protected void registerNetworkConnectorMBean(NetworkConnector connector)
                                      throws java.io.IOException
Throws:
java.io.IOException

createNetworkConnectorObjectName

protected javax.management.ObjectName createNetworkConnectorObjectName(NetworkConnector connector)
                                                                throws javax.management.MalformedObjectNameException
Throws:
javax.management.MalformedObjectNameException

createDuplexNetworkConnectorObjectName

public javax.management.ObjectName createDuplexNetworkConnectorObjectName(java.lang.String transport)
                                                                   throws javax.management.MalformedObjectNameException
Throws:
javax.management.MalformedObjectNameException

unregisterNetworkConnectorMBean

protected void unregisterNetworkConnectorMBean(NetworkConnector connector)

registerProxyConnectorMBean

protected void registerProxyConnectorMBean(ProxyConnector connector)
                                    throws java.io.IOException
Throws:
java.io.IOException

registerFTConnectorMBean

protected void registerFTConnectorMBean(MasterConnector connector)
                                 throws java.io.IOException
Throws:
java.io.IOException

registerJmsConnectorMBean

protected void registerJmsConnectorMBean(JmsConnector connector)
                                  throws java.io.IOException
Throws:
java.io.IOException

createBroker

protected Broker createBroker()
                       throws java.lang.Exception
Factory method to create a new broker

Throws:
java.lang.Exception

createRegionBroker

protected Broker createRegionBroker()
                             throws java.lang.Exception
Factory method to create the core region broker onto which interceptors are added

Throws:
java.lang.Exception

createRegionBroker

protected Broker createRegionBroker(DestinationInterceptor destinationInterceptor)
                             throws java.io.IOException
Throws:
java.io.IOException

createDefaultDestinationInterceptor

protected DestinationInterceptor[] createDefaultDestinationInterceptor()
Create the default destination interceptor


addInterceptors

protected Broker addInterceptors(Broker broker)
                          throws java.lang.Exception
Strategy method to add interceptors to the broker

Throws:
java.io.IOException
java.lang.Exception

createPersistenceAdapter

protected PersistenceAdapter createPersistenceAdapter()
                                               throws java.io.IOException
Throws:
java.io.IOException

createBrokerObjectName

protected javax.management.ObjectName createBrokerObjectName()
                                                      throws java.io.IOException
Throws:
java.io.IOException

createTransportConnector

protected TransportConnector createTransportConnector(java.net.URI brokerURI)
                                               throws java.lang.Exception
Throws:
java.lang.Exception

getPort

protected java.lang.Object getPort(java.util.Map options)
Extracts the port from the options


addShutdownHook

protected void addShutdownHook()

removeShutdownHook

protected void removeShutdownHook()

setShutdownHooks

public void setShutdownHooks(java.util.List<java.lang.Runnable> hooks)
                      throws java.lang.Exception
Sets hooks to be executed when broker shut down

Throws:
java.lang.Exception

containerShutdown

protected void containerShutdown()
Causes a clean shutdown of the container when the VM is being shut down


logError

protected void logError(java.lang.String message,
                        java.lang.Throwable e)

startDestinations

protected void startDestinations()
                          throws java.lang.Exception
Starts any configured destinations on startup

Throws:
java.lang.Exception

getAdminConnectionContext

public ConnectionContext getAdminConnectionContext()
                                            throws java.lang.Exception
Returns the broker's administration connection context used for configuring the broker at startup

Throws:
java.lang.Exception

waitForSlave

protected void waitForSlave()

slaveConnectionEstablished

protected void slaveConnectionEstablished()

startManagementContext

protected void startManagementContext()
                               throws java.lang.Exception
Throws:
java.lang.Exception

startAllConnectors

public void startAllConnectors()
                        throws java.lang.Exception
Start all transport and network connections, proxies and bridges

Throws:
java.lang.Exception

startTransportConnector

protected TransportConnector startTransportConnector(TransportConnector connector)
                                              throws java.lang.Exception
Throws:
java.lang.Exception

configureServices

protected void configureServices(java.lang.Object[] services)
Perform any custom dependency injection


configureService

protected void configureService(java.lang.Object service)
Perform any custom dependency injection


handleIOException

public void handleIOException(java.io.IOException exception)

startDestinationsInPersistenceStore

protected void startDestinationsInPersistenceStore(Broker broker)
                                            throws java.lang.Exception
Starts all destiantions in persistence store. This includes all inactive destinations

Throws:
java.lang.Exception

getExecutor

protected java.util.concurrent.ThreadPoolExecutor getExecutor()

getScheduler

public Scheduler getScheduler()

getRegionBroker

public Broker getRegionBroker()

setRegionBroker

public void setRegionBroker(Broker regionBroker)

addShutdownHook

public void addShutdownHook(java.lang.Runnable hook)

removeShutdownHook

public void removeShutdownHook(java.lang.Runnable hook)

isSystemExitOnShutdown

public boolean isSystemExitOnShutdown()

setSystemExitOnShutdown

public void setSystemExitOnShutdown(boolean systemExitOnShutdown)

getSystemExitOnShutdownExitCode

public int getSystemExitOnShutdownExitCode()

setSystemExitOnShutdownExitCode

public void setSystemExitOnShutdownExitCode(int systemExitOnShutdownExitCode)

getSslContext

public SslContext getSslContext()

setSslContext

public void setSslContext(SslContext sslContext)

isShutdownOnSlaveFailure

public boolean isShutdownOnSlaveFailure()

setShutdownOnSlaveFailure

public void setShutdownOnSlaveFailure(boolean shutdownOnSlaveFailure)

isWaitForSlave

public boolean isWaitForSlave()

setWaitForSlave

public void setWaitForSlave(boolean waitForSlave)

getWaitForSlaveTimeout

public long getWaitForSlaveTimeout()

setWaitForSlaveTimeout

public void setWaitForSlaveTimeout(long waitForSlaveTimeout)

getSlaveStartSignal

public java.util.concurrent.CountDownLatch getSlaveStartSignal()

isPassiveSlave

public boolean isPassiveSlave()
Get the passiveSlave

Returns:
the passiveSlave

setPassiveSlave

public void setPassiveSlave(boolean passiveSlave)
Set the passiveSlave

Parameters:
passiveSlave - the passiveSlave to set

setIoExceptionHandler

public void setIoExceptionHandler(IOExceptionHandler ioExceptionHandler)
override the Default IOException handler, called when persistence adapter has experiences File or JDBC I/O Exceptions

Parameters:
ioExceptionHandler -

getIoExceptionHandler

public IOExceptionHandler getIoExceptionHandler()

isSchedulerSupport

public boolean isSchedulerSupport()
Returns:
the schedulerSupport

setSchedulerSupport

public void setSchedulerSupport(boolean schedulerSupport)
Parameters:
schedulerSupport - the schedulerSupport to set

getSchedulerDirectoryFile

public java.io.File getSchedulerDirectoryFile()
Returns:
the schedulerDirectory

setSchedulerDirectoryFile

public void setSchedulerDirectoryFile(java.io.File schedulerDirectory)
Parameters:
schedulerDirectory - the schedulerDirectory to set

setSchedulerDirectory

public void setSchedulerDirectory(java.lang.String schedulerDirectory)

getSchedulePeriodForDestinationPurge

public int getSchedulePeriodForDestinationPurge()

setSchedulePeriodForDestinationPurge

public void setSchedulePeriodForDestinationPurge(int schedulePeriodForDestinationPurge)

getBrokerContext

public BrokerContext getBrokerContext()

setBrokerContext

public void setBrokerContext(BrokerContext brokerContext)

setBrokerId

public void setBrokerId(java.lang.String brokerId)

isUseAuthenticatedPrincipalForJMSXUserID

public boolean isUseAuthenticatedPrincipalForJMSXUserID()

setUseAuthenticatedPrincipalForJMSXUserID

public void setUseAuthenticatedPrincipalForJMSXUserID(boolean useAuthenticatedPrincipalForJMSXUserID)

isNetworkConnectorStartAsync

public boolean isNetworkConnectorStartAsync()

setNetworkConnectorStartAsync

public void setNetworkConnectorStartAsync(boolean networkConnectorStartAsync)

isAllowTempAutoCreationOnSend

public boolean isAllowTempAutoCreationOnSend()

setAllowTempAutoCreationOnSend

public void setAllowTempAutoCreationOnSend(boolean allowTempAutoCreationOnSend)
enable if temp destinations need to be propagated through a network when advisorySupport==false. This is used in conjunction with the policy gcInactiveDestinations for matching temps so they can get removed when inactive

Parameters:
allowTempAutoCreationOnSend -


Copyright © 2005-2011 FuseSource, Corp.. All Rights Reserved.