This example demonstrates Apache Geode's Durable Messaging feature. Use durable messaging for subscriptions that you need maintained for your clients even when your clients are down or disconnected. You can configure any of your event subscriptions as durable. Events for durable queries and subscriptions are saved in a queue when the client is disconnected and played back when the client reconnects. Other queries and subscriptions are removed from the queue.
The example performs the following tasks to demonstrate durable messaging:
- Create a client cache with durable messaging enabled
- Register interest in all keys in the example region with durable messaging enabled
- Close the client cache, simulating a disconnection
- Start a second client, and do puts while the first client is down
- Restart the first client, and observe that the create events in the durable queue are delivered. A simple cache listener is used to print output to the terminal as create events are received. If interested, see Cache Listeners for more details on how cache listeners work.
This example assumes you have installed Java and Geode.
-
From the
geode-examples/durableMessaging
directory, build the example.$ ../gradlew build
-
Next start a locator, start a server, and create a region.
$ gfsh run --file=scripts/start.gfsh
-
Run the example to demonstrate durable messaging.
$ ../gradlew run
-
Shut down the server.
$ gfsh run --file=scripts/stop.gfsh