Tengo una aplicación GWT donde los usuarios mantienen el lado de la aplicación abierto por tiempo indefinido. De vez en cuando actualizamos la aplicación: si los usuarios presionan volver a cargar en sus navegadores una vez hecho esto, todo va bien. Sin embargo, lo que suele ocurrir es que continúan utilizando la versión ya abierta de la aplicación, es decir, una versión publicada antes de la actualización, y luego experimentan errores relacionados con RPC, ya que el lado del cliente Javascript ya no está sincronizado con lo que hay en el servidor.GWT: cómo puede el cliente detectar que su javascript no está sincronizado si el servidor se actualiza
GWT tiene algún mecanismo, que puede habilitar o incorporar en su código, para hacer frente a esto. No necesito ningún manejo inteligente de la situación, p. tratando de volver a cargar la aplicación y restablecer el estado actual del usuario, un diálogo simple que explique que el cliente y el servidor ya no están sincronizados y que la aplicación web necesita ser recargada sería suficiente.
Me siento avergonzado ahora que veo mi rastro de pila. Usualmente salto a la causa más baja y generalmente ignoro las excepciones de envoltura. Si hubiera mirado la excepción de nivel superior, habría visto IncompatibleRemoteServiceException y podría tomarse como una pista del nombre; en su lugar, me centré en la SerializationException contenida. –