La prima cosa che l'app GWT esegue quando viene caricata è richiesta dall'utente corrente connesso dal server tramite RequestFactory. Questo blocca perché ho bisogno delle proprietà dell'utente per sapere come procedere. Questo richiede solo < 500 ms, ma mi dà davvero fastidio che l'app sia bloccata durante questo periodo. Ho già l'utente sul server quando viene generato il jsp, quindi perché non aggiungere semplicemente l'utente serializzato al jsp ed eliminare completamente questa richiesta?GWT serializza manualmente l'oggetto dominio sul server
Ho due problemi che mi impedisce di fare questo:
- Ho bisogno di trasformare l'utente a userProxy
- ho bisogno di serializzare userProxy in un modo che è facile per GWT per deserializzare.
Non ho trovato un buon modo per fare # 1. Questa logica sembra essere sepolta in ServiceLayerDecorator senza un modo semplice per isolare? Potrei sbagliarmi qui.
Il secondo sembra più semplice tramite ProxySerializer Ma come faccio a mettere le mani su requestfactory quando sono sul server? Non è possibile chiamare GWT.create
sul server.
Ho esaminato AutoBeans ma questo non gestisce il numero 1 sopra. Il mio UserProxy ha riferimenti a raccolte di altri EntityProxy che vorrei mantenere.
Questo mi ha fatto abbastanza lontano, ma proxySerializer.get (UserProxy.class, UserProxy.STORE_KEY) è nullo . Tuttavia, proxyStore.get (UserProxy.STORE_KEY) restituisce uno Splittable che sembra corretto (almeno quando sputa come una stringa). È difficile rintracciare dal momento che gran parte di questo sembra essere il codice generato. – Brad
Ho scritto la maggior parte di questo (tentativi ed errori) circa un anno fa, e apparentemente ho fatto un pessimo lavoro di tenerlo aggiornato - ci riproverò per aggiornarlo, per vedere quali pezzi mi mancano. –