Interface ServerLocator

All Superinterfaces:
AutoCloseable

public interface ServerLocator extends AutoCloseable
The serverLocator locates a server, but beyond that it locates a server based on a list.

If you are using straight TCP on the configuration, and if you configure your serverLocator to be HA, the locator will always get an updated list of members to the server, the server will send the updated list to the client.

If you use UDP or JGroups (exclusively JGroups or UDP), the initial discovery is done by the grouping finder, after the initial connection is made the server will always send updates to the client. But the listeners will listen for updates on grouping.

  • Method Details

    • isClosed

      boolean isClosed()
      Returns true if close was already called
      Returns:
      true if closed, false otherwise.
    • disableFinalizeCheck

      @Deprecated default void disableFinalizeCheck()
      Deprecated.
      Just kept for compatibility.
    • createSessionFactory

      ClientSessionFactory createSessionFactory() throws Exception
      Creates a ClientSessionFactory using whatever load balancing policy is in force
      Returns:
      The ClientSessionFactory
      Throws:
      Exception
    • createSessionFactory

      ClientSessionFactory createSessionFactory(String nodeID) throws Exception
      Creates a ClientSessionFactory to a specific server. The server must already be known about by this ServerLocator. This method allows the user to make a connection to a specific server bypassing any load balancing policy in force
      Parameters:
      nodeID -
      Returns:
      a ClientSessionFactory instance or null if the node is not present on the topology
      Throws:
      Exception - if a failure happened in creating the ClientSessionFactory or the ServerLocator does not know about the passed in transportConfiguration
    • createSessionFactory

      ClientSessionFactory createSessionFactory(TransportConfiguration transportConfiguration) throws Exception
      Creates a ClientSessionFactory to a specific server. The server must already be known about by this ServerLocator. This method allows the user to make a connection to a specific server bypassing any load balancing policy in force
      Parameters:
      transportConfiguration -
      Returns:
      a ClientSessionFactory instance
      Throws:
      Exception - if a failure happened in creating the ClientSessionFactory or the ServerLocator does not know about the passed in transportConfiguration
    • createSessionFactory

      ClientSessionFactory createSessionFactory(TransportConfiguration transportConfiguration, int reconnectAttempts) throws Exception
      Creates a ClientSessionFactory to a specific server. The server must already be known about by this ServerLocator. This method allows the user to make a connection to a specific server bypassing any load balancing policy in force
      Parameters:
      transportConfiguration -
      reconnectAttempts - number of attempts of reconnection to perform
      Returns:
      a ClientSessionFactory instance
      Throws:
      Exception - if a failure happened in creating the ClientSessionFactory or the ServerLocator does not know about the passed in transportConfiguration
    • createSessionFactory

      @Deprecated ClientSessionFactory createSessionFactory(TransportConfiguration transportConfiguration, int reconnectAttempts, boolean failoverOnInitialConnection) throws Exception
      Deprecated.
      This method is no longer acceptable to create a client session factory. Replaced by createSessionFactory(TransportConfiguration, int).
      Creates a ClientSessionFactory to a specific server. The server must already be known about by this ServerLocator. This method allows the user to make a connection to a specific server bypassing any load balancing policy in force
      Parameters:
      transportConfiguration -
      reconnectAttempts - number of attempts of reconnection to perform
      failoverOnInitialConnection -
      Returns:
      a ClientSessionFactory instance
      Throws:
      Exception - if a failure happened in creating the ClientSessionFactory or the ServerLocator does not know about the passed in transportConfiguration
    • getClientFailureCheckPeriod

      long getClientFailureCheckPeriod()
      Returns the period used to check if a client has failed to receive pings from the server.

      Period is in milliseconds, default value is ActiveMQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD.

      Returns:
      the period used to check if a client has failed to receive pings from the server
    • setClientFailureCheckPeriod

      ServerLocator setClientFailureCheckPeriod(long clientFailureCheckPeriod)
      Sets the period (in milliseconds) used to check if a client has failed to receive pings from the server.

      Value must be -1 (to disable) or greater than 0.

      Parameters:
      clientFailureCheckPeriod - the period to check failure
      Returns:
      this ServerLocator
    • isCacheLargeMessagesClient

      boolean isCacheLargeMessagesClient()
      When true, consumers created through this factory will create temporary files to cache large messages.

      There is 1 temporary file created for each large message.

      Default value is ActiveMQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT.

      Returns:
      true if consumers created through this factory will cache large messages in temporary files, false else
    • setCacheLargeMessagesClient

      ServerLocator setCacheLargeMessagesClient(boolean cached)
      Sets whether large messages received by consumers created through this factory will be cached in temporary files or not.
      Parameters:
      cached - true to cache large messages in temporary files, false else
      Returns:
      this ServerLocator
    • getConnectionTTL

      long getConnectionTTL()
      Returns the connection time-to-live.

      This TTL determines how long the server will keep a connection alive in the absence of any data arriving from the client. Value is in milliseconds, default value is ActiveMQClient.DEFAULT_CONNECTION_TTL.

      Returns:
      the connection time-to-live in milliseconds
    • setConnectionTTL

      ServerLocator setConnectionTTL(long connectionTTL)
      Sets this factory's connections time-to-live.

      Value must be -1 (to disable) or greater or equals to 0.

      Parameters:
      connectionTTL - period in milliseconds
      Returns:
      this ServerLocator
    • getCallTimeout

      long getCallTimeout()
      Returns the blocking calls timeout.

      If client's blocking calls to the server take more than this timeout, the call will throw a ActiveMQException with the code ActiveMQExceptionType.CONNECTION_TIMEDOUT. Value is in milliseconds, default value is ActiveMQClient.DEFAULT_CALL_TIMEOUT.

      Returns:
      the blocking calls timeout
    • setCallTimeout

      ServerLocator setCallTimeout(long callTimeout)
      Sets the blocking call timeout.

      Value must be greater or equals to 0

      Parameters:
      callTimeout - blocking call timeout in milliseconds
      Returns:
      this ServerLocator
    • getCallFailoverTimeout

      long getCallFailoverTimeout()
      Returns the blocking calls failover timeout when the client is awaiting failover, this is over and above the normal call timeout.

      If client is in the process of failing over when a blocking call is called then the client will wait this long before actually trying the send.

      Returns:
      the blocking calls failover timeout
    • setCallFailoverTimeout

      ServerLocator setCallFailoverTimeout(long callFailoverTimeout)
      Sets the blocking call failover timeout.

      When the client is awaiting failover, this is over and above the normal call timeout.

      Value must be greater or equals to -1, -1 means forever

      Parameters:
      callFailoverTimeout - blocking call timeout in milliseconds
      Returns:
      this ServerLocator
    • getMinLargeMessageSize

      int getMinLargeMessageSize()
      Returns the large message size threshold.

      Messages whose size is if greater than this value will be handled as large messages. Value is in bytes, default value is ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE.

      Returns:
      the message size threshold to treat messages as large messages.
    • setMinLargeMessageSize

      ServerLocator setMinLargeMessageSize(int minLargeMessageSize)
      Sets the large message size threshold.

      Value must be greater than 0.

      Parameters:
      minLargeMessageSize - large message size threshold in bytes
      Returns:
      this ServerLocator
    • getConsumerWindowSize

      int getConsumerWindowSize()
      Returns the window size for flow control of the consumers created through this factory.

      Value is in bytes, default value is ActiveMQClient.DEFAULT_CONSUMER_WINDOW_SIZE.

      Returns:
      the window size used for consumer flow control
    • setConsumerWindowSize

      ServerLocator setConsumerWindowSize(int consumerWindowSize)
      Sets the window size for flow control of the consumers created through this factory.

      Value must be -1 (to disable flow control), 0 (to not buffer any messages) or greater than 0 (to set the maximum size of the buffer)

      Parameters:
      consumerWindowSize - window size (in bytes) used for consumer flow control
      Returns:
      this ServerLocator
    • getConsumerMaxRate

      int getConsumerMaxRate()
      Returns the maximum rate of message consumption for consumers created through this factory.

      This value controls the rate at which a consumer can consume messages. A consumer will never consume messages at a rate faster than the rate specified.

      Value is -1 (to disable) or a positive integer corresponding to the maximum desired message consumption rate specified in units of messages per second. Default value is ActiveMQClient.DEFAULT_CONSUMER_MAX_RATE.

      Returns:
      the consumer max rate
    • setConsumerMaxRate

      ServerLocator setConsumerMaxRate(int consumerMaxRate)
      Sets the maximum rate of message consumption for consumers created through this factory.

      Value must -1 (to disable) or a positive integer corresponding to the maximum desired message consumption rate specified in units of messages per second.

      Parameters:
      consumerMaxRate - maximum rate of message consumption (in messages per seconds)
      Returns:
      this ServerLocator
    • getConfirmationWindowSize

      int getConfirmationWindowSize()
      Returns the size for the confirmation window of clients using this factory.

      Value is in bytes or -1 (to disable the window). Default value is ActiveMQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE.

      Returns:
      the size for the confirmation window of clients using this factory
    • setConfirmationWindowSize

      ServerLocator setConfirmationWindowSize(int confirmationWindowSize)
      Sets the size for the confirmation window buffer of clients using this factory.

      Value must be -1 (to disable the window) or greater than 0.

      Parameters:
      confirmationWindowSize - size of the confirmation window (in bytes)
      Returns:
      this ServerLocator
    • getProducerWindowSize

      int getProducerWindowSize()
      Returns the window size for flow control of the producers created through this factory.

      Value must be -1 (to disable flow control) or greater than 0 to determine the maximum amount of bytes at any give time (to prevent overloading the connection). Default value is ActiveMQClient.DEFAULT_PRODUCER_WINDOW_SIZE.

      Returns:
      the window size for flow control of the producers created through this factory.
    • setProducerWindowSize

      ServerLocator setProducerWindowSize(int producerWindowSize)
      Returns the window size for flow control of the producers created through this factory.

      Value must be -1 (to disable flow control) or greater than 0.

      Parameters:
      producerWindowSize - window size (in bytest) for flow control of the producers created through this factory.
      Returns:
      this ServerLocator
    • getProducerMaxRate

      int getProducerMaxRate()
      Returns the maximum rate of message production for producers created through this factory.

      This value controls the rate at which a producer can produce messages. A producer will never produce messages at a rate faster than the rate specified.

      Value is -1 (to disable) or a positive integer corresponding to the maximum desired message production rate specified in units of messages per second. Default value is ActiveMQClient.DEFAULT_PRODUCER_MAX_RATE.

      Returns:
      maximum rate of message production (in messages per seconds)
    • setProducerMaxRate

      ServerLocator setProducerMaxRate(int producerMaxRate)
      Sets the maximum rate of message production for producers created through this factory.

      Value must -1 (to disable) or a positive integer corresponding to the maximum desired message production rate specified in units of messages per second.

      Parameters:
      producerMaxRate - maximum rate of message production (in messages per seconds)
      Returns:
      this ServerLocator
    • isBlockOnAcknowledge

      boolean isBlockOnAcknowledge()
      Returns whether consumers created through this factory will block while sending message acknowledgments or do it asynchronously.

      Default value is ActiveMQClient.DEFAULT_BLOCK_ON_ACKNOWLEDGE.

      Returns:
      whether consumers will block while sending message acknowledgments or do it asynchronously
    • setBlockOnAcknowledge

      ServerLocator setBlockOnAcknowledge(boolean blockOnAcknowledge)
      Sets whether consumers created through this factory will block while sending message acknowledgments or do it asynchronously.
      Parameters:
      blockOnAcknowledge - true to block when sending message acknowledgments or false to send them asynchronously
      Returns:
      this ServerLocator
    • isBlockOnDurableSend

      boolean isBlockOnDurableSend()
      Returns whether producers created through this factory will block while sending durable messages or do it asynchronously.
      If the session is configured to send durable message asynchronously, the client can set a SendAcknowledgementHandler on the ClientSession to be notified once the message has been handled by the server.

      Default value is ActiveMQClient.DEFAULT_BLOCK_ON_DURABLE_SEND.

      Returns:
      whether producers will block while sending persistent messages or do it asynchronously
    • setBlockOnDurableSend

      ServerLocator setBlockOnDurableSend(boolean blockOnDurableSend)
      Sets whether producers created through this factory will block while sending durable messages or do it asynchronously.
      Parameters:
      blockOnDurableSend - true to block when sending durable messages or false to send them asynchronously
      Returns:
      this ServerLocator
    • isBlockOnNonDurableSend

      boolean isBlockOnNonDurableSend()
      Returns whether producers created through this factory will block while sending non-durable messages or do it asynchronously.
      If the session is configured to send non-durable message asynchronously, the client can set a SendAcknowledgementHandler on the ClientSession to be notified once the message has been handled by the server.

      Default value is ActiveMQClient.DEFAULT_BLOCK_ON_NON_DURABLE_SEND.

      Returns:
      whether producers will block while sending non-durable messages or do it asynchronously
    • setBlockOnNonDurableSend

      ServerLocator setBlockOnNonDurableSend(boolean blockOnNonDurableSend)
      Sets whether producers created through this factory will block while sending non-durable messages or do it asynchronously.
      Parameters:
      blockOnNonDurableSend - true to block when sending non-durable messages or false to send them asynchronously
      Returns:
      this ServerLocator
    • isAutoGroup

      boolean isAutoGroup()
      Returns whether producers created through this factory will automatically assign a group ID to the messages they sent.

      if true, a random unique group ID is created and set on each message for the property Message.HDR_GROUP_ID. Default value is ActiveMQClient.DEFAULT_AUTO_GROUP.

      Returns:
      whether producers will automatically assign a group ID to their messages
    • setAutoGroup

      ServerLocator setAutoGroup(boolean autoGroup)
      Sets whether producers created through this factory will automatically assign a group ID to the messages they sent.
      Parameters:
      autoGroup - true to automatically assign a group ID to each messages sent through this factory, false else
      Returns:
      this ServerLocator
    • getGroupID

      String getGroupID()
      Returns the group ID that will be eventually set on each message for the property Message.HDR_GROUP_ID.

      Default value is is null and no group ID will be set on the messages.

      Returns:
      the group ID that will be eventually set on each message
    • setGroupID

      ServerLocator setGroupID(String groupID)
      Sets the group ID that will be set on each message sent through this factory.
      Parameters:
      groupID - the group ID to use
      Returns:
      this ServerLocator
    • isPreAcknowledge

      boolean isPreAcknowledge()
      Returns whether messages will pre-acknowledged on the server before they are sent to the consumers or not.

      Default value is ActiveMQClient.DEFAULT_PRE_ACKNOWLEDGE

    • setPreAcknowledge

      ServerLocator setPreAcknowledge(boolean preAcknowledge)
      Sets to true to pre-acknowledge consumed messages on the server before they are sent to consumers, else set to false to let clients acknowledge the message they consume.
      Parameters:
      preAcknowledge - true to enable pre-acknowledgment, false else
      Returns:
      this ServerLocator
    • getAckBatchSize

      int getAckBatchSize()
      Returns the acknowledgments batch size.

      Default value is ActiveMQClient.DEFAULT_ACK_BATCH_SIZE.

      Returns:
      the acknowledgments batch size
    • setAckBatchSize

      ServerLocator setAckBatchSize(int ackBatchSize)
      Sets the acknowledgments batch size.

      Value must be equal or greater than 0.

      Parameters:
      ackBatchSize - acknowledgments batch size
      Returns:
      this ServerLocator
    • getStaticTransportConfigurations

      TransportConfiguration[] getStaticTransportConfigurations()
      Returns an array of TransportConfigurations representing the static list of servers used when creating this object
      Returns:
      array with all static TransportConfigurations
    • getDiscoveryGroupConfiguration

      DiscoveryGroupConfiguration getDiscoveryGroupConfiguration()
      The discovery group configuration
    • isUseGlobalPools

      boolean isUseGlobalPools()
      Returns whether this factory will use global thread pools (shared among all the factories in the same JVM) or its own pools.

      Default value is ActiveMQClient.DEFAULT_USE_GLOBAL_POOLS.

      Returns:
      true if this factory uses global thread pools, false else
    • setUseGlobalPools

      ServerLocator setUseGlobalPools(boolean useGlobalPools)
      Sets whether this factory will use global thread pools (shared among all the factories in the same JVM) or its own pools.
      Parameters:
      useGlobalPools - true to let this factory uses global thread pools, false else
      Returns:
      this ServerLocator
    • getScheduledThreadPoolMaxSize

      int getScheduledThreadPoolMaxSize()
      Returns the maximum size of the scheduled thread pool.

      Default value is ActiveMQClient.DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE.

      Returns:
      the maximum size of the scheduled thread pool.
    • setScheduledThreadPoolMaxSize

      ServerLocator setScheduledThreadPoolMaxSize(int scheduledThreadPoolMaxSize)
      Sets the maximum size of the scheduled thread pool.

      This setting is relevant only if this factory does not use global pools. Value must be greater than 0.

      Parameters:
      scheduledThreadPoolMaxSize - maximum size of the scheduled thread pool.
      Returns:
      this ServerLocator
    • getThreadPoolMaxSize

      int getThreadPoolMaxSize()
      Returns the maximum size of the thread pool.

      Default value is ActiveMQClient.DEFAULT_THREAD_POOL_MAX_SIZE.

      Returns:
      the maximum size of the thread pool.
    • setThreadPoolMaxSize

      ServerLocator setThreadPoolMaxSize(int threadPoolMaxSize)
      Sets the maximum size of the thread pool.

      This setting is relevant only if this factory does not use global pools. Value must be -1 (for unlimited thread pool) or greater than 0.

      Parameters:
      threadPoolMaxSize - maximum size of the thread pool.
      Returns:
      this ServerLocator
    • getFlowControlThreadPoolMaxSize

      int getFlowControlThreadPoolMaxSize()
      Returns the maximum size of the flow-control thread pool.

      Default value is ActiveMQClient.DEFAULT_FLOW_CONTROL_THREAD_POOL_MAX_SIZE.

      Returns:
      the maximum size of the flow-control thread pool.
    • setFlowControlThreadPoolMaxSize

      ServerLocator setFlowControlThreadPoolMaxSize(int flowControlThreadPoolMaxSize)
      Sets the maximum size of the flow-control thread pool.

      This setting is relevant only if this factory does not use global pools. Value must be -1 (for unlimited thread pool) or greater than 0.

      Parameters:
      flowControlThreadPoolMaxSize - maximum size of the flow-control thread pool.
      Returns:
      this ServerLocator
    • getRetryInterval

      long getRetryInterval()
      Returns the time to retry connections created by this factory after failure.

      Value is in milliseconds, default is ActiveMQClient.DEFAULT_RETRY_INTERVAL.

      Returns:
      the time to retry connections created by this factory after failure
    • setRetryInterval

      ServerLocator setRetryInterval(long retryInterval)
      Sets the time to retry connections created by this factory after failure.

      Value must be greater than 0.

      Parameters:
      retryInterval - time (in milliseconds) to retry connections created by this factory after failure
      Returns:
      this ServerLocator
    • getRetryIntervalMultiplier

      double getRetryIntervalMultiplier()
      Returns the multiplier to apply to successive retry intervals.

      Default value is ActiveMQClient.DEFAULT_RETRY_INTERVAL_MULTIPLIER.

      Returns:
      the multiplier to apply to successive retry intervals
    • setRetryIntervalMultiplier

      ServerLocator setRetryIntervalMultiplier(double retryIntervalMultiplier)
      Sets the multiplier to apply to successive retry intervals.

      Value must be positive.

      Parameters:
      retryIntervalMultiplier - multiplier to apply to successive retry intervals
      Returns:
      this ServerLocator
    • getMaxRetryInterval

      long getMaxRetryInterval()
      Returns the maximum retry interval (in the case a retry interval multiplier has been specified).

      Value is in milliseconds, default value is ActiveMQClient.DEFAULT_MAX_RETRY_INTERVAL.

      Returns:
      the maximum retry interval
    • setMaxRetryInterval

      ServerLocator setMaxRetryInterval(long maxRetryInterval)
      Sets the maximum retry interval.

      Value must be greater than 0.

      Parameters:
      maxRetryInterval - maximum retry interval to apply in the case a retry interval multiplier has been specified
      Returns:
      this ServerLocator
    • getReconnectAttempts

      int getReconnectAttempts()
      Returns the maximum number of attempts to retry connection in case of failure.

      Default value is ActiveMQClient.DEFAULT_RECONNECT_ATTEMPTS.

      Returns:
      the maximum number of attempts to retry connection in case of failure.
    • setReconnectAttempts

      ServerLocator setReconnectAttempts(int reconnectAttempts)
      Sets the maximum number of attempts to retry connection in case of failure.

      Value must be -1 (to retry infinitely), 0 (to never retry connection) or greater than 0.

      Parameters:
      reconnectAttempts - maximum number of attempts to retry connection in case of failure
      Returns:
      this ServerLocator
    • setInitialConnectAttempts

      ServerLocator setInitialConnectAttempts(int reconnectAttempts)
      Sets the maximum number of attempts to establish an initial connection.

      Value must be -1 (to retry infinitely), 0 (to never retry connection) or greater than 0.

      Parameters:
      reconnectAttempts - maximum number of attempts for the initial connection
      Returns:
      this ServerLocator
    • getInitialConnectAttempts

      int getInitialConnectAttempts()
      Returns:
      the number of attempts to be made for first initial connection.
    • setFailoverAttempts

      ServerLocator setFailoverAttempts(int attempts)
      Sets the maximum number of failover attempts to establish a connection to other primary servers after a connection failure.

      Value must be -1 (to retry infinitely), 0 (to never retry connection) or greater than 0.

      Parameters:
      attempts - maximum number of failover attempts after a connection failure
      Returns:
      this ServerLocator
    • getFailoverAttempts

      int getFailoverAttempts()
      Returns:
      the number of failover attempts after a connection failure.
    • isFailoverOnInitialConnection

      @Deprecated boolean isFailoverOnInitialConnection()
      Deprecated.
      Returns true if the client will automatically attempt to connect to the backup server if the initial connection to the primary server fails

      Default value is ActiveMQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION.

    • setFailoverOnInitialConnection

      @Deprecated ServerLocator setFailoverOnInitialConnection(boolean failover)
      Deprecated.
      Sets the value for FailoverOnInitialReconnection
      Parameters:
      failover -
      Returns:
      this ServerLocator
    • getConnectionLoadBalancingPolicyClassName

      String getConnectionLoadBalancingPolicyClassName()
      Returns the class name of the connection load balancing policy.

      Default value is "org.apache.activemq.artemis.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicy".

      Returns:
      the class name of the connection load balancing policy
    • setConnectionLoadBalancingPolicyClassName

      ServerLocator setConnectionLoadBalancingPolicyClassName(String loadBalancingPolicyClassName)
      Sets the class name of the connection load balancing policy.

      Value must be the name of a class implementing ConnectionLoadBalancingPolicy.

      Parameters:
      loadBalancingPolicyClassName - class name of the connection load balancing policy
      Returns:
      this ServerLocator
    • getInitialMessagePacketSize

      int getInitialMessagePacketSize()
      Returns the initial size of messages created through this factory.

      Value is in bytes, default value is ActiveMQClient.DEFAULT_INITIAL_MESSAGE_PACKET_SIZE.

      Returns:
      the initial size of messages created through this factory
    • setInitialMessagePacketSize

      ServerLocator setInitialMessagePacketSize(int size)
      Sets the initial size of messages created through this factory.

      Value must be greater than 0.

      Parameters:
      size - initial size of messages created through this factory.
      Returns:
      this ServerLocator
    • getOnMessageCloseTimeout

      int getOnMessageCloseTimeout()
      Returns the timeout for onMessage completion when closing ClientConsumers created through this factory.

      Value is in milliseconds, default value is ActiveMQClient.DEFAULT_ONMESSAGE_CLOSE_TIMEOUT.

      Returns:
      the timeout for onMessage completion when closing ClientConsumers created through this factory
    • setOnMessageCloseTimeout

      ServerLocator setOnMessageCloseTimeout(int onMessageCloseTimeout)
      Sets the timeout in milliseconds for onMessage completion when closing ClientConsumers created through this factory.

      A value of -1 means wait until the onMessage completes no matter how long it takes.

      Parameters:
      onMessageCloseTimeout - how long to wait in milliseconds for the ClientConsumer's MessageHandler's onMessage method to finish before closing or stopping the ClientConsumer.
      Returns:
      this ServerLocator
    • addIncomingInterceptor

      ServerLocator addIncomingInterceptor(Interceptor interceptor)
      Adds an interceptor which will be executed after packets are received from the server.
      Parameters:
      interceptor - an Interceptor
      Returns:
      this ServerLocator
    • addOutgoingInterceptor

      ServerLocator addOutgoingInterceptor(Interceptor interceptor)
      Adds an interceptor which will be executed before packets are sent to the server.
      Parameters:
      interceptor - an Interceptor
      Returns:
      this ServerLocator
    • removeIncomingInterceptor

      boolean removeIncomingInterceptor(Interceptor interceptor)
      Removes an incoming interceptor.
      Parameters:
      interceptor - interceptor to remove
      Returns:
      true if the incoming interceptor is removed from this factory, false else
    • removeOutgoingInterceptor

      boolean removeOutgoingInterceptor(Interceptor interceptor)
      Removes an outgoing interceptor.
      Parameters:
      interceptor - interceptor to remove
      Returns:
      true if the outgoing interceptor is removed from this factory, false else
    • close

      void close()
      Closes this factory and release all its resources
      Specified by:
      close in interface AutoCloseable
    • setUseTopologyForLoadBalancing

      ServerLocator setUseTopologyForLoadBalancing(boolean useTopologyForLoadBalancing)
      Parameters:
      useTopologyForLoadBalancing -
      Returns:
    • getUseTopologyForLoadBalancing

      boolean getUseTopologyForLoadBalancing()
    • getTopology

      org.apache.activemq.artemis.core.client.impl.Topology getTopology()
      Exposes the Topology used by this ServerLocator.
      Returns:
      topology
    • isHA

      boolean isHA()
      Whether this server receives topology notifications from the cluster as servers join or leave the cluster.
      Returns:
      true if the locator receives topology updates from the cluster
    • allInVM

      boolean allInVM()
      Verify if all of the transports are using inVM.
      Returns:
      true if the locator has all inVM transports.
    • isCompressLargeMessage

      boolean isCompressLargeMessage()
      Whether to compress large messages.
      Returns:
    • setCompressLargeMessage

      ServerLocator setCompressLargeMessage(boolean compressLargeMessages)
      Sets whether to compress or not large messages.
      Parameters:
      compressLargeMessages -
      Returns:
      this ServerLocator
    • getCompressionLevel

      int getCompressionLevel()
      What compression level is in use
      Returns:
    • setCompressionLevel

      ServerLocator setCompressionLevel(int compressionLevel)
      Sets what compressionLevel to use when compressing messages Value must be -1 (default), or 0-9
      Parameters:
      compressionLevel -
      Returns:
      this ServerLocator
    • addClusterTopologyListener

      ServerLocator addClusterTopologyListener(ClusterTopologyListener listener)
    • removeClusterTopologyListener

      void removeClusterTopologyListener(ClusterTopologyListener listener)
    • getProtocolManagerFactory

      ClientProtocolManagerFactory getProtocolManagerFactory()
    • setProtocolManagerFactory

      ServerLocator setProtocolManagerFactory(ClientProtocolManagerFactory protocolManager)
    • setIncomingInterceptorList

      ServerLocator setIncomingInterceptorList(String interceptorList)
      Parameters:
      interceptorList - a comma separated string of incoming interceptor class names to be used. Each interceptor needs a default Constructor to be used with this method.
      Returns:
      this
    • getIncomingInterceptorList

      String getIncomingInterceptorList()
    • setOutgoingInterceptorList

      ServerLocator setOutgoingInterceptorList(String interceptorList)
    • getOutgoingInterceptorList

      String getOutgoingInterceptorList()
    • setThreadPools

      boolean setThreadPools(Executor threadPool, ScheduledExecutorService scheduledThreadPoolExecutor, Executor flowControlThreadPool)
    • initialize

      void initialize() throws ActiveMQException
      This will only instantiate internal objects such as the topology
      Throws:
      ActiveMQException
    • getLocatorConfig

      ServerLocatorConfig getLocatorConfig()
    • setLocatorConfig

      void setLocatorConfig(ServerLocatorConfig serverLocatorConfig)
    • setPasswordCodec

      ServerLocator setPasswordCodec(String passwordCodec)
    • getPasswordCodec

      String getPasswordCodec()