Come sviluppare server in stato in Java EE senza Jax-WS
-
11-12-2019 - |
Domanda
Sto sviluppando un servizio Web in Java EE utilizzando Apache Tomcat e finora ho scritto alcuni metodi laterali del server di base e un client di test.Posso richiamare con successo i metodi e ottenere risultati ma ogni volta che invoco un metodo, il costruttore del server viene chiamato di nuovo e non posso anche modificare le variabili di istanza del server utilizzando i metodi impostati.C'è un modo particolare per rendere il mio server in stato senza utilizzare i tag jax-ws o ejb @steful?
Soluzione
Questo è un po 'di malincondazione qui.Lo Stateful EJB manterrebbe sessione tra un client e un server, quindi lo stato EJB non sarebbe stato condiviso tra vari clienti.
È possibile esporre solo apolidi e Singleton EJB come servizio Web Jax-WS.
L'opzione migliore è utilizzare il database per la memorizzazione di tutte le offerte e quando l'asta è finita, scegli uno vincente.
Se vuoi usare un file va bene, purché ti piace giocare con problemi come:
- .
- Sincronizzazione dell'accesso a quel file da molti client
- Gestione letture transazionali e scrive
- Risolvi i problemi di corruzione del file
- Un gruppo di altri problemi che potrebbero accadere se sei sufficientemente sfortunato
suona come un sacco di lavoro, che può essere fatto da qualsiasi motore di database sano.