Lo primero que hace mi aplicación GWT cuando se carga es solicitar al usuario que está conectado actualmente desde el servidor a través de RequestFactory. Esto bloquea porque necesito las propiedades del usuario para saber cómo proceder. Esto solo toma < 500ms, pero realmente me molesta que la aplicación esté bloqueada durante este tiempo. Ya tengo el usuario en el servidor cuando se genera el jsp, así que ¿por qué no simplemente agregar el usuario serializado al jsp y eliminar esta solicitud por completo?GWT serializa manualmente el objeto de dominio en el servidor
Tengo dos problemas que me mantiene de esta manera:
- necesito para transformar usuario a userProxy
- necesito para serializar userProxy de una manera que es fácil para GWT para deserializar.
No he encontrado una buena manera de hacer # 1. Esta lógica parece estar enterrada en ServiceLayerDecorator sin una forma fácil de aislar? Puedo estar equivocado aquí.
El segundo parece más fácil a través de ProxySerializer Pero, ¿cómo puedo tener en mis manos el requestfactory cuando estoy en el servidor? No puede llamar al GWT.create
en el servidor.
He estado buscando en AutoBeans pero esto no funciona con el n. ° 1 anterior. Mi UserProxy tiene referencias a colecciones de otros EntityProxy que me gustaría mantener.
Esto me puso bastante lejos, pero proxySerializer.get (UserProxy.class, UserProxy.STORE_KEY) es nulo . Sin embargo, proxyStore.get (UserProxy.STORE_KEY) devuelve una tabla dividida que parece correcta (al menos cuando escupe como una cadena). Es difícil de rastrear ya que gran parte de esto parece ser código generado. – Brad
Escribí la mayor parte de eso (prueba y error) hace aproximadamente un año, y al parecer he hecho un mal trabajo para mantenerlo actualizado. Lo intentaré de nuevo para actualizarlo, ver qué piezas me faltan. –