Class BrokerService

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

public class BrokerService extends Object implements org.apache.activemq.Service
Manages the life-cycle 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 Details

  • Constructor Details

    • BrokerService

      public BrokerService()
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • addConnector

      public TransportConnector addConnector(String bindAddress) throws Exception
      Adds a new transport connector for the given bind address
      Returns:
      the newly created and added transport connector
      Throws:
      Exception
    • addConnector

      public TransportConnector addConnector(URI bindAddress) throws Exception
      Adds a new transport connector for the given bind address
      Returns:
      the newly created and added transport connector
      Throws:
      Exception
    • addConnector

      public TransportConnector addConnector(org.apache.activemq.transport.TransportServer transport) throws Exception
      Adds a new transport connector for the given TransportServer transport
      Returns:
      the newly created and added transport connector
      Throws:
      Exception
    • addConnector

      public TransportConnector addConnector(TransportConnector connector) throws Exception
      Adds a new transport connector
      Returns:
      the transport connector
      Throws:
      Exception
    • removeConnector

      public boolean removeConnector(TransportConnector connector) throws Exception
      Stops and removes a transport connector from the broker.
      Returns:
      true if the connector has been previously added to the broker
      Throws:
      Exception
    • addNetworkConnector

      public NetworkConnector addNetworkConnector(String discoveryAddress) throws Exception
      Adds a new network connector using the given discovery address
      Returns:
      the newly created and added network connector
      Throws:
      Exception
    • addProxyConnector

      public ProxyConnector addProxyConnector(String bindAddress) throws Exception
      Adds a new proxy connector using the given bind address
      Returns:
      the newly created and added network connector
      Throws:
      Exception
    • addNetworkConnector

      public NetworkConnector addNetworkConnector(URI discoveryAddress) throws Exception
      Adds a new network connector using the given discovery address
      Returns:
      the newly created and added network connector
      Throws:
      Exception
    • addProxyConnector

      public ProxyConnector addProxyConnector(URI bindAddress) throws Exception
      Adds a new proxy connector using the given bind address
      Returns:
      the newly created and added network connector
      Throws:
      Exception
    • addNetworkConnector

      public NetworkConnector addNetworkConnector(NetworkConnector connector) throws Exception
      Adds a new network connector to connect this broker to a federated network
      Throws:
      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 Exception
      Throws:
      Exception
    • addJmsConnector

      public JmsConnector addJmsConnector(JmsConnector connector) throws Exception
      Throws:
      Exception
    • addPreShutdownHook

      public final void addPreShutdownHook(Runnable hook)
      Adds a Runnable hook that will be invoked before the broker is stopped. This allows performing cleanup actions before the broker is stopped. The hook should not throw exceptions or block.
    • removeJmsConnector

      public JmsConnector removeJmsConnector(JmsConnector connector)
    • masterFailed

      public void masterFailed()
    • getUptime

      public String getUptime()
    • getUptimeMillis

      public long getUptimeMillis()
    • isStarted

      public boolean isStarted()
    • start

      public void start(boolean force) throws Exception
      Forces a start of the broker. By default a BrokerService instance that was previously stopped using BrokerService.stop() cannot be restarted using BrokerService.start(). This method enforces a restart. It is not recommended to force a restart of the broker and will not work for most but some very trivial broker configurations. For restarting a broker instance we recommend to first call stop() on the old instance and then recreate a new BrokerService instance.
      Parameters:
      force - - if true enforces a restart.
      Throws:
      Exception
    • shouldAutostart

      protected boolean shouldAutostart()
    • autoStart

      public void autoStart() throws Exception
      Throws:
      Exception
    • start

      public void start() throws Exception
      Specified by:
      start in interface org.apache.activemq.Service
      Throws:
      Exception
    • stop

      public void stop() throws Exception
      Specified by:
      stop in interface org.apache.activemq.Service
      Throws:
      Exception
    • checkQueueSize

      public boolean checkQueueSize(String queueName)
    • stopGracefully

      public void stopGracefully(String connectorName, String queueName, long timeout, long pollInterval) throws 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.
      Throws:
      Exception
    • waitUntilStopped

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

      public boolean isStopped()
    • 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
    • waitUntilStarted

      public boolean waitUntilStarted(long timeout)
      A helper method to block the caller thread until the broker has fully started
      Parameters:
      timeout - the amount of time to wait before giving up and returning false.
      Returns:
      boolean true if wait succeeded false if broker was not started or was stopped
    • getBroker

      public Broker getBroker() throws Exception
      Returns the message broker
      Throws:
      Exception
    • getAdminView

      public BrokerView getAdminView() throws 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:
      Exception
    • setAdminView

      public void setAdminView(BrokerView adminView)
    • getBrokerName

      public String getBrokerName()
    • setBrokerName

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

      public PersistenceAdapterFactory getPersistenceFactory()
    • getDataDirectoryFile

      public File getDataDirectoryFile()
    • getBrokerDataDirectory

      public File getBrokerDataDirectory()
    • setDataDirectory

      public void setDataDirectory(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(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 File getTmpDataDirectory()
      Returns:
      the tmpDataDirectory
    • setTmpDataDirectory

      public void setTmpDataDirectory(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()
      Returns:
      the consumerUsageManager
    • setConsumerSystemUsage

      public void setConsumerSystemUsage(SystemUsage consumerSystemUsage)
      Parameters:
      consumerSystemUsage - the storeSystemUsage to set
    • getProducerSystemUsage

      public SystemUsage getProducerSystemUsage()
      Returns:
      the producerUsageManager
    • setProducerSystemUsage

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

      public PersistenceAdapter getPersistenceAdapter() throws IOException
      Throws:
      IOException
    • setPersistenceAdapter

      public void setPersistenceAdapter(PersistenceAdapter persistenceAdapter) throws IOException
      Sets the persistence adaptor implementation to use for this broker
      Throws:
      IOException
    • getTaskRunnerFactory

      public org.apache.activemq.thread.TaskRunnerFactory getTaskRunnerFactory()
    • setTaskRunnerFactory

      public void setTaskRunnerFactory(org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory)
    • getPersistenceTaskRunnerFactory

      public org.apache.activemq.thread.TaskRunnerFactory getPersistenceTaskRunnerFactory()
    • setPersistenceTaskRunnerFactory

      public void setPersistenceTaskRunnerFactory(org.apache.activemq.thread.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 ObjectName getBrokerObjectName() throws MalformedObjectNameException
      Throws:
      MalformedObjectNameException
    • setBrokerObjectName

      public void setBrokerObjectName(ObjectName brokerObjectName)
      Sets the JMX ObjectName for this broker
    • getManagementContext

      public ManagementContext getManagementContext()
    • setManagementContext

      public void setManagementContext(ManagementContext managementContext)
    • getNetworkConnectorByName

      public NetworkConnector getNetworkConnectorByName(String connectorName)
    • getNetworkConnectorURIs

      public String[] getNetworkConnectorURIs()
    • setNetworkConnectorURIs

      public void setNetworkConnectorURIs(String[] networkConnectorURIs)
    • getConnectorByName

      public TransportConnector getConnectorByName(String connectorName)
    • getTransportConnectorURIsAsMap

      public Map<String,String> getTransportConnectorURIsAsMap()
    • getProducerBrokerExchange

      public ProducerBrokerExchange getProducerBrokerExchange(org.apache.activemq.command.ProducerInfo producerInfo)
    • getTransportConnectorURIs

      public String[] getTransportConnectorURIs()
    • setTransportConnectorURIs

      public void setTransportConnectorURIs(String[] transportConnectorURIs)
    • getJmsBridgeConnectors

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

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

      public org.apache.activemq.Service[] getServices()
    • setServices

      public void setServices(org.apache.activemq.Service[] services)
      Sets the services associated with this broker.
    • addService

      public void addService(org.apache.activemq.Service service)
      Adds a new service so that it will be started as part of the broker lifecycle
    • removeService

      public void removeService(org.apache.activemq.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.
    • isAnonymousProducerAdvisorySupport

      public boolean isAnonymousProducerAdvisorySupport()
    • setAnonymousProducerAdvisorySupport

      public void setAnonymousProducerAdvisorySupport(boolean anonymousProducerAdvisorySupport)
    • getTransportConnectors

      public List<TransportConnector> getTransportConnectors()
    • setTransportConnectors

      public void setTransportConnectors(List<TransportConnector> transportConnectors) throws Exception
      Sets the transport connectors which this broker will listen on for new clients
      Throws:
      Exception
    • getTransportConnectorByName

      public TransportConnector getTransportConnectorByName(String name)
    • getTransportConnectorByScheme

      public TransportConnector getTransportConnectorByScheme(String scheme)
    • getNetworkConnectors

      public List<NetworkConnector> getNetworkConnectors()
    • getProxyConnectors

      public List<ProxyConnector> getProxyConnectors()
    • setNetworkConnectors

      public void setNetworkConnectors(List<?> networkConnectors) throws Exception
      Sets the network connectors which this broker will use to connect to other brokers in a federated network
      Throws:
      Exception
    • setProxyConnectors

      public void setProxyConnectors(List<?> proxyConnectors) throws Exception
      Sets the network connectors which this broker will use to connect to other brokers in a federated network
      Throws:
      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 IOException
      Delete all messages from the persistent store
      Throws:
      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 URI getVmConnectorURI()
    • setVmConnectorURI

      public void setVmConnectorURI(URI vmConnectorURI)
    • getDefaultSocketURIString

      public String getDefaultSocketURIString()
    • isShutdownOnMasterFailure

      @Deprecated(forRemoval=true) public boolean isShutdownOnMasterFailure()
      Deprecated, for removal: This API element is subject to removal in a future version.
      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)
    • isEnableMessageExpirationOnActiveDurableSubs

      public boolean isEnableMessageExpirationOnActiveDurableSubs()
    • setEnableMessageExpirationOnActiveDurableSubs

      public void setEnableMessageExpirationOnActiveDurableSubs(boolean enableMessageExpirationOnActiveDurableSubs)
    • 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 org.apache.activemq.command.ActiveMQDestination[] getDestinations()
    • setDestinations

      public void setDestinations(org.apache.activemq.command.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
    • getDestination

      public Destination getDestination(org.apache.activemq.command.ActiveMQDestination destination) throws Exception
      Looks up and lazily creates if necessary the destination for the given JMS name
      Throws:
      Exception
    • removeDestination

      public void removeDestination(org.apache.activemq.command.ActiveMQDestination destination) throws Exception
      Throws:
      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)
    • getJobSchedulerStore

      public JobSchedulerStore getJobSchedulerStore()
    • setJobSchedulerStore

      public void setJobSchedulerStore(JobSchedulerStore jobSchedulerStore)
    • processHelperProperties

      protected void processHelperProperties() throws Exception
      Handles any lazy-creation helper properties which are added to make things easier to configure inside environments such as Spring
      Throws:
      Exception
    • checkStoreUsageLimits

      protected void checkStoreUsageLimits() throws Exception
      Check that the store usage limit is not greater than max usable space and adjust if it is
      Throws:
      Exception
    • checkTmpStoreUsageLimits

      protected void checkTmpStoreUsageLimits() throws Exception
      Check that temporary usage limit is not greater than max usable space and adjust if it is
      Throws:
      Exception
    • checkUsageLimit

      protected void checkUsageLimit(File dir, PercentLimitUsage<?> storeUsage, int percentLimit) throws org.apache.activemq.ConfigurationException
      Throws:
      org.apache.activemq.ConfigurationException
    • scheduleDiskUsageLimitsCheck

      protected void scheduleDiskUsageLimitsCheck() throws IOException
      Schedules a periodic task based on schedulePeriodForDiskLimitCheck to update store and temporary store limits if the amount of available space plus current store size is less than the existing configured limit
      Throws:
      IOException
    • checkMemorySystemUsageLimits

      protected void checkMemorySystemUsageLimits() throws Exception
      Throws:
      Exception
    • checkStoreSystemUsageLimits

      protected void checkStoreSystemUsageLimits() throws Exception
      Throws:
      Exception
    • stopAllConnectors

      public void stopAllConnectors(org.apache.activemq.util.ServiceStopper stopper)
    • registerConnectorMBean

      protected TransportConnector registerConnectorMBean(TransportConnector connector) throws IOException
      Throws:
      IOException
    • unregisterConnectorMBean

      protected void unregisterConnectorMBean(TransportConnector connector) throws IOException
      Throws:
      IOException
    • registerPersistenceAdapterMBean

      protected PersistenceAdapter registerPersistenceAdapterMBean(PersistenceAdapter adaptor) throws IOException
      Throws:
      IOException
    • unregisterPersistenceAdapterMBean

      protected void unregisterPersistenceAdapterMBean(PersistenceAdapter adaptor) throws IOException
      Throws:
      IOException
    • registerNetworkConnectorMBean

      public void registerNetworkConnectorMBean(NetworkConnector connector) throws IOException
      Throws:
      IOException
    • createNetworkConnectorObjectName

      public ObjectName createNetworkConnectorObjectName(NetworkConnector connector) throws MalformedObjectNameException
      Throws:
      MalformedObjectNameException
    • createDuplexNetworkConnectorObjectName

      public ObjectName createDuplexNetworkConnectorObjectName(String transport) throws MalformedObjectNameException
      Throws:
      MalformedObjectNameException
    • unregisterNetworkConnectorMBean

      protected void unregisterNetworkConnectorMBean(NetworkConnector connector)
    • registerProxyConnectorMBean

      protected void registerProxyConnectorMBean(ProxyConnector connector) throws IOException
      Throws:
      IOException
    • registerJmsConnectorMBean

      protected void registerJmsConnectorMBean(JmsConnector connector) throws IOException
      Throws:
      IOException
    • createBroker

      protected Broker createBroker() throws Exception
      Factory method to create a new broker
      Throws:
      Exception
    • createRegionBroker

      protected Broker createRegionBroker() throws Exception
      Factory method to create the core region broker onto which interceptors are added
      Throws:
      Exception
    • createRegionBroker

      protected Broker createRegionBroker(DestinationInterceptor destinationInterceptor) throws IOException
      Throws:
      IOException
    • createDefaultDestinationInterceptor

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

      protected Broker addInterceptors(Broker broker) throws Exception
      Strategy method to add interceptors to the broker
      Throws:
      IOException
      Exception
    • createPersistenceAdapter

      protected PersistenceAdapter createPersistenceAdapter() throws IOException
      Throws:
      IOException
    • createBrokerObjectName

      protected ObjectName createBrokerObjectName() throws MalformedObjectNameException
      Throws:
      MalformedObjectNameException
    • createTransportConnector

      protected TransportConnector createTransportConnector(URI brokerURI) throws Exception
      Throws:
      Exception
    • getPort

      protected Object getPort(Map<?,?> options)
      Extracts the port from the options
    • addShutdownHook

      protected void addShutdownHook()
    • removeShutdownHook

      protected void removeShutdownHook()
    • setShutdownHooks

      public void setShutdownHooks(List<Runnable> hooks) throws Exception
      Sets hooks to be executed when broker shut down
      Throws:
      Exception
    • containerShutdown

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

      protected void logError(String message, Throwable e)
    • startDestinations

      protected void startDestinations() throws Exception
      Starts any configured destinations on startup
      Throws:
      Exception
    • getAdminConnectionContext

      public ConnectionContext getAdminConnectionContext() throws Exception
      Returns the broker's administration connection context used for configuring the broker at startup
      Throws:
      Exception
    • startManagementContext

      protected void startManagementContext() throws Exception
      Throws:
      Exception
    • startAllConnectors

      public void startAllConnectors() throws Exception
      Start all transport and network connections, proxies and bridges
      Throws:
      Exception
    • startNetworkConnector

      public void startNetworkConnector(NetworkConnector connector, ThreadPoolExecutor networkConnectorStartExecutor) throws Exception
      Throws:
      Exception
    • startNetworkConnector

      public void startNetworkConnector(NetworkConnector connector, Set<org.apache.activemq.command.ActiveMQDestination> durableDestinations, ThreadPoolExecutor networkConnectorStartExecutor) throws Exception
      Throws:
      Exception
    • startTransportConnector

      public TransportConnector startTransportConnector(TransportConnector connector) throws Exception
      Throws:
      Exception
    • configureServices

      protected void configureServices(Object[] services)
      Perform any custom dependency injection
    • configureService

      protected void configureService(Object service)
      Perform any custom dependency injection
    • handleIOException

      public void handleIOException(IOException exception)
    • startVirtualConsumerDestinations

      protected void startVirtualConsumerDestinations() throws Exception
      Throws:
      Exception
    • getExecutor

      protected ThreadPoolExecutor getExecutor()
    • getScheduler

      public org.apache.activemq.thread.Scheduler getScheduler()
    • getRegionBroker

      public Broker getRegionBroker()
    • setRegionBroker

      public void setRegionBroker(Broker regionBroker)
    • removePreShutdownHook

      public final void removePreShutdownHook(Runnable hook)
    • addShutdownHook

      public void addShutdownHook(Runnable hook)
    • removeShutdownHook

      public void removeShutdownHook(Runnable hook)
    • isSystemExitOnShutdown

      public boolean isSystemExitOnShutdown()
    • setSystemExitOnShutdown

      public void setSystemExitOnShutdown(boolean systemExitOnShutdown)
    • getSystemExitOnShutdownExitCode

      public int getSystemExitOnShutdownExitCode()
    • setSystemExitOnShutdownExitCode

      public void setSystemExitOnShutdownExitCode(int systemExitOnShutdownExitCode)
    • getSslContext

      public org.apache.activemq.broker.SslContext getSslContext()
    • setSslContext

      public void setSslContext(org.apache.activemq.broker.SslContext sslContext)
    • isShutdownOnSlaveFailure

      @Deprecated(forRemoval=true) public boolean isShutdownOnSlaveFailure()
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
    • setShutdownOnSlaveFailure

      @Deprecated(forRemoval=true) public void setShutdownOnSlaveFailure(boolean shutdownOnSlaveFailure)
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
    • isWaitForSlave

      @Deprecated(forRemoval=true) public boolean isWaitForSlave()
      Deprecated, for removal: This API element is subject to removal in a future version.
      it will be removed as it should not be used directly.
    • setWaitForSlave

      @Deprecated(forRemoval=true) public void setWaitForSlave(boolean waitForSlave)
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
    • getWaitForSlaveTimeout

      @Deprecated(forRemoval=true) public long getWaitForSlaveTimeout()
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
    • setWaitForSlaveTimeout

      @Deprecated(forRemoval=true) public void setWaitForSlaveTimeout(long waitForSlaveTimeout)
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
    • isPassiveSlave

      @Deprecated(forRemoval=true) public boolean isPassiveSlave()
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
    • setPassiveSlave

      @Deprecated(forRemoval=true) public void setPassiveSlave(boolean passiveSlave)
      Deprecated, for removal: This API element is subject to removal in a future version.
      this method will be renamed to not use slave wording
      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 File getSchedulerDirectoryFile()
      Returns:
      the schedulerDirectory
    • setSchedulerDirectoryFile

      public void setSchedulerDirectoryFile(File schedulerDirectory)
      Parameters:
      schedulerDirectory - the schedulerDirectory to set
    • setSchedulerDirectory

      public void setSchedulerDirectory(String schedulerDirectory)
    • getSchedulePeriodForDestinationPurge

      public int getSchedulePeriodForDestinationPurge()
    • setSchedulePeriodForDestinationPurge

      public void setSchedulePeriodForDestinationPurge(int schedulePeriodForDestinationPurge)
    • setSchedulePeriodForDiskUsageCheck

      public void setSchedulePeriodForDiskUsageCheck(int schedulePeriodForDiskUsageCheck)
      Parameters:
      schedulePeriodForDiskUsageCheck -
    • getDiskUsageCheckRegrowThreshold

      public int getDiskUsageCheckRegrowThreshold()
    • setDiskUsageCheckRegrowThreshold

      public void setDiskUsageCheckRegrowThreshold(int diskUsageCheckRegrowThreshold)
      Parameters:
      diskUsageCheckRegrowThreshold -
    • getMaxPurgedDestinationsPerSweep

      public int getMaxPurgedDestinationsPerSweep()
    • setMaxPurgedDestinationsPerSweep

      public void setMaxPurgedDestinationsPerSweep(int maxPurgedDestinationsPerSweep)
    • getBrokerContext

      public BrokerContext getBrokerContext()
    • setBrokerContext

      public void setBrokerContext(BrokerContext brokerContext)
    • setBrokerId

      public void setBrokerId(String brokerId)
    • isUseAuthenticatedPrincipalForJMSXUserID

      public boolean isUseAuthenticatedPrincipalForJMSXUserID()
    • setUseAuthenticatedPrincipalForJMSXUserID

      public void setUseAuthenticatedPrincipalForJMSXUserID(boolean useAuthenticatedPrincipalForJMSXUserID)
    • isPopulateUserNameInMBeans

      public boolean isPopulateUserNameInMBeans()
      Should MBeans that support showing the Authenticated User Name information have this value filled in or not.
      Returns:
      true if user names should be exposed in MBeans
    • setPopulateUserNameInMBeans

      public void setPopulateUserNameInMBeans(boolean value)
      Sets whether Authenticated User Name information is shown in MBeans that support this field.
      Parameters:
      value - if MBeans should expose user name information.
    • getMbeanInvocationTimeout

      public long getMbeanInvocationTimeout()
      Gets the time in Milliseconds that an invocation of an MBean method will wait before failing. The default value is to wait forever (zero).
      Returns:
      timeout in milliseconds before MBean calls fail, (default is 0 or no timeout).
    • setMbeanInvocationTimeout

      public void setMbeanInvocationTimeout(long mbeanInvocationTimeout)
      Gets the time in Milliseconds that an invocation of an MBean method will wait before failing. The default value is to wait forever (zero).
      Parameters:
      mbeanInvocationTimeout - timeout in milliseconds before MBean calls fail, (default is 0 or no timeout).
    • 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 -
    • getOfflineDurableSubscriberTimeout

      public long getOfflineDurableSubscriberTimeout()
    • setOfflineDurableSubscriberTimeout

      public void setOfflineDurableSubscriberTimeout(long offlineDurableSubscriberTimeout)
    • getOfflineDurableSubscriberTaskSchedule

      public long getOfflineDurableSubscriberTaskSchedule()
    • setOfflineDurableSubscriberTaskSchedule

      public void setOfflineDurableSubscriberTaskSchedule(long offlineDurableSubscriberTaskSchedule)
    • shouldRecordVirtualDestination

      public boolean shouldRecordVirtualDestination(org.apache.activemq.command.ActiveMQDestination destination)
    • getStartException

      public Throwable getStartException()
    • isStartAsync

      public boolean isStartAsync()
    • setStartAsync

      public void setStartAsync(boolean startAsync)
    • isSlave

      public boolean isSlave()
    • isStopping

      public boolean isStopping()
    • isRestartAllowed

      public boolean isRestartAllowed()
      Returns:
      true if the broker allowed to restart on shutdown.
    • setRestartAllowed

      public void setRestartAllowed(boolean restartAllowed)
      Sets if the broker allowed to restart on shutdown.
    • isRestartRequested

      public boolean isRestartRequested()
      A lifecycle manager of the BrokerService should inspect this property after a broker shutdown has occurred to find out if the broker needs to be re-created and started again.
      Returns:
      true if the broker wants to be restarted after it shuts down.
    • requestRestart

      public void requestRestart()
    • getStoreOpenWireVersion

      public int getStoreOpenWireVersion()
    • setStoreOpenWireVersion

      public void setStoreOpenWireVersion(int storeOpenWireVersion)
    • getCurrentConnections

      public int getCurrentConnections()
      Returns:
      the current number of connections on this Broker.
    • getTotalConnections

      public long getTotalConnections()
      Returns:
      the total number of connections this broker has handled since startup.
    • incrementCurrentConnections

      public void incrementCurrentConnections()
    • decrementCurrentConnections

      public void decrementCurrentConnections()
    • incrementTotalConnections

      public void incrementTotalConnections()
    • isRejectDurableConsumers

      public boolean isRejectDurableConsumers()
    • setRejectDurableConsumers

      public void setRejectDurableConsumers(boolean rejectDurableConsumers)
    • isUseVirtualDestSubs

      public boolean isUseVirtualDestSubs()
    • setUseVirtualDestSubs

      public void setUseVirtualDestSubs(boolean useVirtualDestSubs)
    • isUseVirtualDestSubsOnCreation

      public boolean isUseVirtualDestSubsOnCreation()
    • setUseVirtualDestSubsOnCreation

      public void setUseVirtualDestSubsOnCreation(boolean useVirtualDestSubsOnCreation)
    • isAdjustUsageLimits

      public boolean isAdjustUsageLimits()
    • setAdjustUsageLimits

      public void setAdjustUsageLimits(boolean adjustUsageLimits)
    • setRollbackOnlyOnAsyncException

      public void setRollbackOnlyOnAsyncException(boolean rollbackOnlyOnAsyncException)
    • isRollbackOnlyOnAsyncException

      public boolean isRollbackOnlyOnAsyncException()
    • getMaxSchedulerRepeatAllowed

      public int getMaxSchedulerRepeatAllowed()
    • setMaxSchedulerRepeatAllowed

      public void setMaxSchedulerRepeatAllowed(int maxSchedulerRepeatAllowed)
    • getMaxUncommittedCount

      public int getMaxUncommittedCount()
    • setMaxUncommittedCount

      public void setMaxUncommittedCount(int maxUncommittedCount)