Sto creando un servizio Web RESTful che avvolge un'API del fornitore antiquata. Sarà richiesta una configurazione esterna e verrà archiviata sul server in un file o in rdbms. Sto usando Jersey 1.11.1 in Glassfish 3.1.2. Questi dati di configurazione sono tutti in formato chiave/valore stringa.Come caricare e archiviare le variabili globali in Jersey/Glassfish
La mia prima domanda è questa: dove posso memorizzare le variabili globali/di istanza in Jersey in modo che vengano mantenute tra le richieste e disponibili per tutte le risorse? Se questa fosse una pura applicazione Servlet, userei ServletContext per realizzare questo.
La seconda parte della domanda è: come posso caricare la configurazione una volta caricato il server Jersey? Di nuovo, la mia analogia servlet sarebbe quella di trovare l'equivalente al metodo init().
Sembra un'ottima soluzione e funziona correttamente al momento del caricamento, ma ricevo una InvocationTargetException (visualizzata come NullPointerException dal contenitore) quando provo a fare riferimento a questo EJB nelle mie classi di risorse. – Graham
Dalla mailing list di Jersey: _Per l'iniezione predefinita di risorse EE non sono supportate a meno che non si trasformi la risorsa in un bean gestito (e si noti che ci sono alcuni vincoli quando si trasforma una classe di risorse in un bean gestito) ._ – Graham
Una volta aggiunto un @Stateless flag per le mie risorse ha funzionato perfettamente ed è sicuramente un'ottima soluzione. Queste due pagine mi hanno aiutato a capire un po 'meglio i concetti: [EJB 3.1 E REST - THE HYBRID LEGGERO] (http://www.adam-bien.com/roller/abien/entry/ejb_3_1_and_rest) [Singletons] (https : //blogs.oracle.com/kensaks/entry/singletons) – Graham