Class ActiveMQClient
ClientSessionFactory
objects.
Once a ClientSessionFactory
has been created, it can be further configured using its setter methods before
creating the sessions. Once a session is created, the factory can no longer be modified (its setter methods will
throw a IllegalStateException
.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final boolean
static final boolean
static final boolean
static final boolean
static final boolean
static final long
static final long
static final long
static final long
static final boolean
static final int
static final int
static final String
static final long
static final long
static final int
static final int
static final String
static final long
static final int
static final long
static final boolean
static final int
static final boolean
Deprecated.static final int
static final int
static final boolean
static final int
static final boolean
static final long
static final int
static final int
static final boolean
static final int
static final int
static final int
static final long
static final double
static final int
static final int
static final boolean
static final boolean
static final boolean
static final String
static final int
static final String
static final String
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
static void
clearThreadPools
(long time, TimeUnit unit) static ServerLocator
createServerLocator
(boolean ha, DiscoveryGroupConfiguration groupConfiguration) Create a ServerLocator which creates session factories from a set of active servers, no HA backup information is propagated to the client The UDP address and port are used to listen for active servers in the clusterstatic ServerLocator
createServerLocator
(boolean ha, TransportConfiguration... transportConfigurations) Create a ServerLocator which creates session factories using a static list of transportConfigurations, the ServerLocator is not updated automatically as the cluster topology changes, and no HA backup information is propagated to the clientstatic ServerLocator
Creates an ActiveMQConnectionFactory;static ServerLocator
createServerLocatorWithHA
(DiscoveryGroupConfiguration groupConfiguration) Create a ServerLocator which will receive cluster topology updates from the cluster as servers leave or join and new backups are appointed or removed.static ServerLocator
createServerLocatorWithHA
(TransportConfiguration... initialServers) Create a ServerLocator which will receive cluster topology updates from the cluster as servers leave or join and new backups are appointed or removed.static ServerLocator
createServerLocatorWithoutHA
(DiscoveryGroupConfiguration groupConfiguration) Create a ServerLocator which creates session factories from a set of active servers, no HA backup information is propagated to the clientstatic ServerLocator
createServerLocatorWithoutHA
(TransportConfiguration... transportConfigurations) Create a ServerLocator which creates session factories using a static list of transportConfigurations, the ServerLocator is not updated automatically as the cluster topology changes, and no HA backup information is propagated to the clientstatic ExecutorService
static int
static ScheduledExecutorService
static int
static ExecutorService
static int
static void
Initializes the global thread pools properties from System properties.static void
injectPools
(ExecutorService globalThreadPool, ScheduledExecutorService scheduledThreadPool, ExecutorService flowControlThreadPool) Warning: This method has to be called before any clients or servers is started on the JVM otherwise previous ServerLocator would be broken after this call.static void
setGlobalThreadPoolProperties
(int globalThreadMaxPoolSize, int globalScheduledThreadPoolSize, int globalFlowControlThreadPoolSize) Allows programmatical configuration of global thread pools properties.
-
Field Details
-
DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME
-
DEFAULT_CLIENT_FAILURE_CHECK_PERIOD
public static final long DEFAULT_CLIENT_FAILURE_CHECK_PERIOD -
DEFAULT_CLIENT_FAILURE_CHECK_PERIOD_INVM
public static final long DEFAULT_CLIENT_FAILURE_CHECK_PERIOD_INVM- See Also:
-
DEFAULT_CONNECTION_TTL
public static final long DEFAULT_CONNECTION_TTL -
DEFAULT_CONNECTION_TTL_INVM
public static final long DEFAULT_CONNECTION_TTL_INVM- See Also:
-
DEFAULT_MIN_LARGE_MESSAGE_SIZE
public static final int DEFAULT_MIN_LARGE_MESSAGE_SIZE- See Also:
-
DEFAULT_COMPRESS_LARGE_MESSAGES
public static final boolean DEFAULT_COMPRESS_LARGE_MESSAGES- See Also:
-
DEFAULT_COMPRESSION_LEVEL
public static final int DEFAULT_COMPRESSION_LEVEL- See Also:
-
DEFAULT_CONSUMER_WINDOW_SIZE
public static final int DEFAULT_CONSUMER_WINDOW_SIZE- See Also:
-
DEFAULT_CONSUMER_MAX_RATE
public static final int DEFAULT_CONSUMER_MAX_RATE- See Also:
-
DEFAULT_CONFIRMATION_WINDOW_SIZE
public static final int DEFAULT_CONFIRMATION_WINDOW_SIZE- See Also:
-
DEFAULT_PRODUCER_WINDOW_SIZE
public static final int DEFAULT_PRODUCER_WINDOW_SIZE- See Also:
-
DEFAULT_PRODUCER_MAX_RATE
public static final int DEFAULT_PRODUCER_MAX_RATE- See Also:
-
DEFAULT_BLOCK_ON_ACKNOWLEDGE
public static final boolean DEFAULT_BLOCK_ON_ACKNOWLEDGE- See Also:
-
DEFAULT_BLOCK_ON_DURABLE_SEND
public static final boolean DEFAULT_BLOCK_ON_DURABLE_SEND- See Also:
-
DEFAULT_BLOCK_ON_NON_DURABLE_SEND
public static final boolean DEFAULT_BLOCK_ON_NON_DURABLE_SEND- See Also:
-
DEFAULT_AUTO_GROUP
public static final boolean DEFAULT_AUTO_GROUP- See Also:
-
DEFAULT_CALL_TIMEOUT
public static final long DEFAULT_CALL_TIMEOUT- See Also:
-
DEFAULT_CALL_FAILOVER_TIMEOUT
public static final long DEFAULT_CALL_FAILOVER_TIMEOUT- See Also:
-
DEFAULT_ACK_BATCH_SIZE
public static final int DEFAULT_ACK_BATCH_SIZE- See Also:
-
DEFAULT_PRE_ACKNOWLEDGE
public static final boolean DEFAULT_PRE_ACKNOWLEDGE- See Also:
-
DEFAULT_ENABLED_SHARED_CLIENT_ID
public static final boolean DEFAULT_ENABLED_SHARED_CLIENT_ID- See Also:
-
DEFAULT_DISCOVERY_INITIAL_WAIT_TIMEOUT
public static final long DEFAULT_DISCOVERY_INITIAL_WAIT_TIMEOUT- See Also:
-
DEFAULT_DISCOVERY_REFRESH_TIMEOUT
public static final long DEFAULT_DISCOVERY_REFRESH_TIMEOUT- See Also:
-
DEFAULT_DISCOVERY_PORT
public static final int DEFAULT_DISCOVERY_PORT- See Also:
-
DEFAULT_RETRY_INTERVAL
public static final long DEFAULT_RETRY_INTERVAL- See Also:
-
DEFAULT_RETRY_INTERVAL_MULTIPLIER
public static final double DEFAULT_RETRY_INTERVAL_MULTIPLIER -
DEFAULT_MAX_RETRY_INTERVAL
public static final long DEFAULT_MAX_RETRY_INTERVAL -
DEFAULT_RECONNECT_ATTEMPTS
public static final int DEFAULT_RECONNECT_ATTEMPTS- See Also:
-
INITIAL_CONNECT_ATTEMPTS
public static final int INITIAL_CONNECT_ATTEMPTS- See Also:
-
DEFAULT_FAILOVER_ATTEMPTS
public static final int DEFAULT_FAILOVER_ATTEMPTS- See Also:
-
DEFAULT_FAILOVER_ON_INITIAL_CONNECTION
Deprecated.- See Also:
-
DEFAULT_IS_HA
public static final boolean DEFAULT_IS_HA- See Also:
-
DEFAULT_USE_GLOBAL_POOLS
public static final boolean DEFAULT_USE_GLOBAL_POOLS- See Also:
-
DEFAULT_THREAD_POOL_MAX_SIZE
public static final int DEFAULT_THREAD_POOL_MAX_SIZE- See Also:
-
DEFAULT_GLOBAL_THREAD_POOL_MAX_SIZE
public static final int DEFAULT_GLOBAL_THREAD_POOL_MAX_SIZE -
DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE
public static final int DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE- See Also:
-
DEFAULT_FLOW_CONTROL_THREAD_POOL_MAX_SIZE
public static final int DEFAULT_FLOW_CONTROL_THREAD_POOL_MAX_SIZE- See Also:
-
DEFAULT_CACHE_LARGE_MESSAGE_CLIENT
public static final boolean DEFAULT_CACHE_LARGE_MESSAGE_CLIENT- See Also:
-
DEFAULT_INITIAL_MESSAGE_PACKET_SIZE
public static final int DEFAULT_INITIAL_MESSAGE_PACKET_SIZE- See Also:
-
DEFAULT_ONMESSAGE_CLOSE_TIMEOUT
public static final int DEFAULT_ONMESSAGE_CLOSE_TIMEOUT- See Also:
-
DEFAULT_XA
public static final boolean DEFAULT_XA- See Also:
-
DEFAULT_HA
public static final boolean DEFAULT_HA- See Also:
-
DEFAULT_CORE_PROTOCOL
- See Also:
-
DEFAULT_USE_TOPOLOGY_FOR_LOADBALANCING
public static final boolean DEFAULT_USE_TOPOLOGY_FOR_LOADBALANCING- See Also:
-
THREAD_POOL_MAX_SIZE_PROPERTY_KEY
- See Also:
-
SCHEDULED_THREAD_POOL_SIZE_PROPERTY_KEY
- See Also:
-
FLOW_CONTROL_THREAD_POOL_SIZE_PROPERTY_KEY
- See Also:
-
-
Method Details
-
clearThreadPools
public static void clearThreadPools() -
clearThreadPools
-
injectPools
public static void injectPools(ExecutorService globalThreadPool, ScheduledExecutorService scheduledThreadPool, ExecutorService flowControlThreadPool) Warning: This method has to be called before any clients or servers is started on the JVM otherwise previous ServerLocator would be broken after this call. -
getGlobalThreadPool
-
getGlobalFlowControlThreadPool
-
getGlobalScheduledThreadPool
-
getGlobalThreadPoolSize
public static int getGlobalThreadPoolSize() -
getGlobalScheduledThreadPoolSize
public static int getGlobalScheduledThreadPoolSize() -
getGlobalFlowControlThreadPoolSize
public static int getGlobalFlowControlThreadPoolSize() -
initializeGlobalThreadPoolProperties
public static void initializeGlobalThreadPoolProperties()Initializes the global thread pools properties from System properties. This method will update the global thread pool configuration based on defined System properties (or defaults if they are not set). The System properties key names are as follow:ActiveMQClient.THREAD_POOL_MAX_SIZE_PROPERTY_KEY="activemq.artemis.client.global.thread.pool.max.size" ActiveMQClient.SCHEDULED_THREAD_POOL_SIZE_PROPERTY_KEY="activemq.artemis.client.global.scheduled.thread.pool.core.size
The min value for max thread pool size is 2. If the value is not -1, but lower than 2, it will be ignored and will default to 2. A value of -1 configures an unbounded thread pool.
Note: If global thread pools have already been created, they will not be updated with these new values.
-
setGlobalThreadPoolProperties
public static void setGlobalThreadPoolProperties(int globalThreadMaxPoolSize, int globalScheduledThreadPoolSize, int globalFlowControlThreadPoolSize) Allows programmatical configuration of global thread pools properties. This method will update the global thread pool configuration based on the provided values notifying all globalThreadPoolListeners.Note: If global thread pools have already been created, they will not be updated with these new values.
The min value for globalThreadMaxPoolSize is 2. If the value is not -1, but lower than 2, it will be ignored and will default to 2. A value of -1 configures an unbounded thread pool.
-
createServerLocator
Creates an ActiveMQConnectionFactory;- Returns:
- the ActiveMQConnectionFactory
- Throws:
Exception
-
createServerLocatorWithoutHA
public static ServerLocator createServerLocatorWithoutHA(TransportConfiguration... transportConfigurations) Create a ServerLocator which creates session factories using a static list of transportConfigurations, the ServerLocator is not updated automatically as the cluster topology changes, and no HA backup information is propagated to the client- Returns:
- the ServerLocator
-
createServerLocator
public static ServerLocator createServerLocator(boolean ha, TransportConfiguration... transportConfigurations) Create a ServerLocator which creates session factories using a static list of transportConfigurations, the ServerLocator is not updated automatically as the cluster topology changes, and no HA backup information is propagated to the client- Parameters:
ha
- The Locator will support topology updates and ha (this required the server to be clustered, otherwise the first connection will timeout)- Returns:
- the ServerLocator
-
createServerLocatorWithoutHA
public static ServerLocator createServerLocatorWithoutHA(DiscoveryGroupConfiguration groupConfiguration) Create a ServerLocator which creates session factories from a set of active servers, no HA backup information is propagated to the clientThe UDP address and port are used to listen for active servers in the cluster
- Returns:
- the ServerLocator
-
createServerLocator
public static ServerLocator createServerLocator(boolean ha, DiscoveryGroupConfiguration groupConfiguration) Create a ServerLocator which creates session factories from a set of active servers, no HA backup information is propagated to the client The UDP address and port are used to listen for active servers in the cluster- Parameters:
ha
- The Locator will support topology updates and ha (this required the server to be clustered, otherwise the first connection will timeout)- Returns:
- the ServerLocator
-
createServerLocatorWithHA
Create a ServerLocator which will receive cluster topology updates from the cluster as servers leave or join and new backups are appointed or removed.The initial list of servers supplied in this method is simply to make an initial connection to the cluster, once that connection is made, up to date cluster topology information is downloaded and automatically updated whenever the cluster topology changes.
If the topology includes backup servers that information is also propagated to the client so that it can know which server to failover onto in case of active server failure.
- Parameters:
initialServers
- The initial set of servers used to make a connection to the cluster. Each one is tried in turn until a successful connection is made. Once a connection is made, the cluster topology is downloaded and the rest of the list is ignored.- Returns:
- the ServerLocator
-
createServerLocatorWithHA
public static ServerLocator createServerLocatorWithHA(DiscoveryGroupConfiguration groupConfiguration) Create a ServerLocator which will receive cluster topology updates from the cluster as servers leave or join and new backups are appointed or removed.The discoveryAddress and discoveryPort parameters in this method are used to listen for UDP broadcasts which contain connection information for members of the cluster. The broadcasted connection information is simply used to make an initial connection to the cluster, once that connection is made, up to date cluster topology information is downloaded and automatically updated whenever the cluster topology changes.
If the topology includes backup servers that information is also propagated to the client so that it can know which server to failover onto in case of active server failure.
- Returns:
- the ServerLocator
-