Poiché i dati della sessione vengono memorizzati come cookie, non c'è più ID di sessione con il gioco 2.0. In effetti, non è necessario alcun token di identificazione, i dati di sessione vengono semplicemente passati insieme a ogni richiesta lasciando il server completamente privo di stato.
Tuttavia, si può ancora bisogno di un ID se avete bisogno di memorizzare per i dati utente nella cache globale. A tale scopo, utilizzare il codice qui sotto
// Generate a unique id
String uuid=session("uuid");
if(uuid==null) {
uuid=java.util.UUID.randomUUID().toString();
session("uuid", uuid);
}
id di sessione? sembra così Java EE comunque ...
fonte
2012-02-23 16:24:05
Come si controlla il ciclo di vita degli oggetti nella cache globale? Configurare TTL e altri parametri di scadenza? –
Il ciclo di vita dipende dall'implementazione della cache. Non conosco i dettagli, se ricordo che EHCache usa WeakReferences che vengono cancellate quando la JVM richiede memoria. EHCache è una delle migliori API per il caching, sono sicuro che supportano le impostazioni di scadenza. –
Ok, ma cosa c'è di così diffrente/migliore in Play 2.0? Una sessione (in generale) è solo un negozio con un certo ciclo di vita. Il "problema di stato" è imho causato da dettagli di attuazione. –