Domanda

Voglio archiviare i dati della sessione JSP in un archivio personalizzato (quello che ho specificato) nel server WebLogic. Esiste un'interfaccia o una classe base che posso implementare o un filtro che posso scrivere che posso collegare tramite la configurazione e che mi consente di memorizzare i dati della sessione nel mio negozio? Ho effettuato una ricerca iniziale ma non sono riuscito a trovare alcun punto di accesso. Chiunque abbia idea di come farlo.

  

In realtà volevo usare un negozio con buone prestazioni e supportare i dati di partizionamento su più server (non replicandoli). Esistono molti di questi negozi (cache) disponibili. Quindi, scrivendo il fornitore del mio archivio sessioni, posso archiviare i dati della sessione nel mio archivio partizionato (o partizionato con replica) e condividerli su più server Web.

È stato utile?

Soluzione

WebLogic non ha API pubbliche per assumere il controllo dei dati della sessione.

Se sei disposto a fare molto lavoro, puoi modificare le applicazioni web per intercettare tutte le chiamate di sessione e archiviare i dati dove vuoi. Sono disponibili API standard: ServletContextListener, ServletContextAttributeListener, ServletRequestListener, ServletRequestAttributeListener, HttpSessionListener e HttpSessionAttributeListener. Puoi registrare i tuoi ascoltatori in web.xml.

Se sei ambizioso, puoi scrivere codice per strumentare automaticamente le app web. Oracle Coherence Il prodotto Web utilizza questo approccio. Vedi la sezione " In che modo il programma di installazione Web Coherence utilizza un'applicazione Java EE " in questa pagina . Fornisce una descrizione di alto livello dei passaggi necessari.

Altri suggerimenti

Non penso che Weblogic ti permetta di farlo. Per quanto ne sappia, non esiste un'interfaccia pubblicamente disponibile da implementare e Weblogic non offre alcun hook o modo per collegare l'implementazione in configurazione di sessione persistente .

Ad essere sincero, mi chiedo davvero perché dovresti implementare il tuo archivio persistente (questa è più una responsabilità del fornitore del server delle applicazioni). Non ottengo ciò che non puoi ottenere utilizzando uno dei 5 implementazione . Forse potresti usare un archivio e impostare un persistent-store-dir . Ma in realtà, senza ulteriori dettagli sul tuo obiettivo, non sono sicuro di essere in grado di indicare la giusta direzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top