package apps; import java.util.concurrent.atomic.AtomicInteger; import org.jooby.Jooby; import org.jooby.Session; import org.jooby.mongodb.MongoSessionStore; import org.jooby.mongodb.Mongodb; import com.typesafe.config.ConfigFactory; import com.typesafe.config.ConfigValueFactory; public class MongodbApp extends Jooby { { use(ConfigFactory.empty() .withValue("db", ConfigValueFactory.fromAnyRef("mongodb://localhost/mongodbapp")) .withValue("session.timeout", ConfigValueFactory.fromAnyRef("2m"))); use(new Mongodb()); AtomicInteger inc = new AtomicInteger(0); session(MongoSessionStore.class); get("/", req -> { Session session = req.ifSession().orElseGet(() -> { Session newSession = req.session(); int next = newSession.get("inc").intValue(inc.getAndIncrement()); newSession.set("inc", next); return newSession; }); return session.get("inc"); }); } public static void main(final String[] args) { run(MongodbApp::new, args); } }