This is a simple example that demonstrates the use of a cache listener to capture modifications to a region.
A cache listener is added to a region when the region is created. After an event (e.g., create a new entry, update an existing entry) occurs on that region, the cache listener has the appropriate handler method invoked, e.g.,
afterCreate() for creating a new entry. This method invocation can not affect the operation on the region.
In this example, a cache listener is installed that captures all of the creation events for the region. A number of entries are created in the region. The cache listener is notified of each creation and adds it to its queue of events. In other applications, the event could either be persisted to some other data store (i.e., write-behind) or a notification about the activity could be sent via some other mechanism.
This example assumes you have installed Java and Geode.
geode-examples/listener directory, build the example and run unit tests.
$ ../gradlew build
Next start a locator, start a server, and create a region.
$ gfsh run --file=scripts/start.gfsh
Run the example to add a cache listener, put entries into the region, and capture the events.
$ ../gradlew run
Shut down the system.
$ gfsh run --file=scripts/stop.gfsh