搜索

此内容没有您所选择的语言版本。

Chapter 8. Message Store Lockers

download PDF

Abstract

Message store locks are used to elect the master broker in master/slave groups. They are also useful for ensuring that multiple brokers are not attempting to share the same message store. Red Hat JBoss A-MQ's lockers are configurable to allow for tuning.

8.1. Locker Basics

Overview

Red Hat JBoss A-MQ provides two default lockers that are used based on the type of message store being used:
  • shared file locker—used by KahaDB and LevelDB stores
  • database locker—used by the JDBC store
    Note
    JBoss A-MQ also provides a leased database locker that can be in cases where the brokers may periodically lose their connection to the message store.
These default lockers are configurable to optimize their performance.
For further optimization, you can implement your own locker and plug it into the message store. Doing so involves implementing a simple Java interface and adding some configuration to the persistence adapter.
Message store locks are primarily leveraged by the broker for electing masters in master/slave configurations. For more information on master/slave groups see chapter "Master/Slave" in "Fault Tolerant Messaging".

Configuring a persistence adapter's locker

To configure the locker used by a persistence adapter you add a locker element as a child to the adapter's configuration element as shown in Example 8.1, “Configuring a Message Store Locker”.

Example 8.1. Configuring a Message Store Locker

<persistenceAdapter>
  <kahaDB directory = "target/activemq-data">
    <locker>
      ...
    </locker>
  </kahaDB>
</persistenceAdapter>

Standard locker configuration properties

All locker implementations are required to have the two common configuration properties described in Table 8.1, “Common Locker Properties”.
Table 8.1. Common Locker Properties
PropertyDefault ValueDescription
lockAcquireSleepInterval 1000Specifies the delay interval, in milliseconds, between attempts to acquire a lock.
failIfLocked falseSpecifies in the broker should immediately fail if a lock cannot be obtained.
The properties are specified as attributes to the locker's XML configuration element.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.