TTL Index
Using Time-To-Live Index to automatically deleting entities.
Imagine you have an entity, which should be deleted after a specific time. Instead of creating a repeated task in java through a Timer
or an ScheduledExecutorService
and using the resources of the application, en2do offers to use MongoDBs time-to-live indexes.
First of all you need to create at least one field of the type java.util.Date
in your entity.
After that you can decide between two TTLIndex
options:
Delete at timeStamp =
{ttl} {unit} + {timeStamp of field}
Delete at timeStamp =
{timeStamp of field}
Example of both time-to-live indexes:
// Other imports go here...
import java.util.Date;
// Lombok's annotations go here..
// en2do - Expires 10 seconds after timeStamp of "createDate"
@TTLIndex(value = "createTime", ttl = 10, unit = TimeUnit.SECONDS)
// en2do - Expires on timeStamp of "expireDate"
@TTLIndex(value = "expireTime")
public class Customer {
@Id // en2do
UUID uniqueId;
// Other fields go here...
Date createTime; // Important for 1. TTLIndex annotation
Date expireTime; // Important for 2. TTLIndex annotation
}
Last updated