una programa proceso para home desactivar como cancelar automaticas actualizaciones actualizacion gwt undo requestfactory

gwt - programa - desactivar actualizaciones windows 10 2018



Cómo deshacer la actualización de RequestFactory (3)

La actualización de objetos a través de GWT RPC se puede deshacer fácilmente. Necesitamos clonar el estado de la entidad anterior en la memoria y aplicarlo al deshacer.

Pero cuando usamos RequestFactory no hay una operación de actualización concreta. RequestFactory envía modificaciones de entidad al servidor y actualiza las entidades del repositorio. No podemos interceptar el proceso de actualización.

¿Cómo debo implementar deshacer para las actualizaciones realizadas con RequestFactory?


La solicitud de fábrica no actualiza la entidad del servidor hasta que se inicia la solicitud. Por lo tanto, puede evitar hacer una llamada al Fire () para evitar modificaciones en el servidor. Espero que esto sea lo que querías decir. ¿Puedes publicar el código que demuestre la forma en que estás actualizando la entidad y dónde quieres deshacer?


Debería estudiar la modificación de las estructuras y tablas de datos del lado del servidor. Incorpore un modelo temporal o bitemporal allí. No se moleste en tratar de mantener estados de entidades "antiguas" en la memoria, o interceptarlas. Mantenga intactos los estados previos de las entidades con los campos de tiempo. Deshacer significa ubicar una versión anterior por marca de tiempo y actualizarla. También puede hacer esto en múltiples tipos de entidades simultáneamente.

  • 01:00 pizza A salvada
  • 01:01 pizza A ingredientes cambiados
  • 01:02 pizza A ingredientes cambiados
  • 01:03 deshacerse de 01:01

Si lo desea, puede barrer periódicamente su base de datos y limpiar versiones antiguas. El estilo "solo de apéndice" de las escrituras temporales también puede generar beneficios de rendimiento.


No sé si te gustaría hacer esto. Para eso, digamos que desea deshacer los cambios de una clase, por ejemplo, póngase en contacto, agregue un campo del mismo tipo, algo así como el estado anterior (simplemente hágalo transitorio si no quiere que estropee su persistencia) para que el clase se ve así:

class Contact { Integer id; Integer version; String name; String phoneNumber; //Transient Contact previousState; }

Ahora en su llamada persistente, haga una copia de seguridad de los datos actuales en el estado anterior y luego persista la entidad de contacto actual. En la llamada deshacer, copie los datos de previousState a "this".

Deshacer no tiene sentido en el servidor, tales cosas tienen que ser administradas en el cliente. No he encontrado ningún escenario donde se requiera una funcionalidad de deshacer en el servidor. Así que por favor cite el escenario y el código a través del cual desea lograr esto.