A Session.Store powered by Couchbase.
<dependency>
<groupId>org.jooby</groupId>
<artifactId>jooby-couchbase</artifactId>
<version>{{version}}</version>
</dependency>{
use(new Couchbase("couchbase://localhost/bucket"));
session(CouchbaseSessionStore.class);
get("/", req -> {
Session session = req.session();
session.put("foo", "bar");
..
});
}Session data is persisted in Couchbase and document looks like:
{
"session::{SESSION_ID}": {
"foo": "bar"
}
}
By default, a session will expire after 30 minutes. Changing the default timeout is as simple as:
# 8 hours
session.timeout = 8h
# 15 seconds
session.timeout = 15
# 120 minutes
session.timeout = 120mExpiration is done via Couchbase expiry/ttl option.
If no timeout is required, use -1.
The session document are persisted in the application/default bucket, if you need/want a different bucket then use {@link Couchbase#sessionBucket(String)}, like:
{
use(
new Couchbase("couchbase://localhost/myapp")
.sessionBucket("session")
);
}