У меня есть новое кодированное приложение GWT/GAE, которое использует RequestFactory и Редакторы на клиенте и пользовательскую службу Objectify DAO на обратной стороне.
Пути flush() then persist() отлично работают при успешном завершении. Клиентская сторона JSR 303 работает так же, как и можно ожидать.
Мой вопрос заключается в том, как запускать предупреждения/ошибки сервера и обрабатывать обновления пользовательского интерфейса?
Я использую Chandler Generic DAO для Objectify 2 на http://turbomanage.wordpress.com/2010/02/09/generic-dao-for-objectify-2/
моя функция gwt вызывает persist (myProxy).fire(new Receiver < > )
мой код dao бросает IllegalArgumentException и другие RuntimeExceptions для бизнес-логических ситуаций, таких как "Дублированный адрес электронной почты, который вы хотите - вместо этого хотите войти в систему"?
Receiver < > . onSuccess() отлично работает, чтобы отслеживать успешный результат. ни Receiver <. onFailure(), ни Receiver < > . onViolation() не сообщают о RuntimeExceptions.
(Исправление: onFailure() вызывается для исключений на стороне сервера)
Есть ли лучший способ сделать это? Какими исключениями должен обладать DAO, чтобы ошибки onViolation() или onFailure() отображались? Как редактор обрабатывать и восстанавливать из исключения?