rabbitmq-server/deps/rabbitmq_recent_history_exc.../README.md

55 lines
1.6 KiB
Markdown

# RabbitMQ Recent History Cache
Keeps track of the last 20 messages that passed through the exchange. Every time a queue is bound to the exchange it delivers that last 20 messages to them. This is useful for implementing a very simple __Chat History__ where clients that join the conversation can get the latest messages.
Exchange yype: `x-recent-history`.
## Installation ##
This plugin ships with RabbitMQ.
Like all other plugins, it must be enabled before it can be used:
```bash
[sudo] rabbitmq-plugins enable rabbitmq_recent_history_exchange
```
## Usage ##
### Creating an exchange
To create a _recent history exchange_, just declare an exchange providing the type `"x-recent-history"`.
```java
channel.exchangeDeclare("logs", "x-recent-history");
```
### Providing a custom history length
Typically this exchange will store the latest 20 messages sent over
the exchange. If you want to set a different cache length, then you
can pass a `"x-recent-history-length"` argument to `exchange.declare`.
The argument must be an integer greater or equal to zero.
For example in Java:
```java
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-recent-history-length", 60);
channel.exchangeDeclare("rh", "x-recent-history", false, false, args);
```
### Preventing some messages from being stored
In case you would like to not store certain messages, just
add the header `"x-recent-history-no-store"` with the value `true` to
the message.
## Disabling the Plugin
When you disable this plugin, it will delete all the cached messages.
## License
See LICENSE.