2016-02-27 3 views
1

У меня есть базовое приложение Java/Spring MVC CRUD для разработки в интрасети моей компании. Я по-прежнему новичок, это приложение - это то, что я использовал для изучения Java и веб-приложений. В основном у него есть таблица, которая использует AJAX для регулярного обновления своих данных и формы html, которая вводится в базу данных. Обновление важно, потому что данные просматриваются на нескольких компьютерах, которые должны видеть входные данные от других.Глобальное состояние в Java/Весна

Проблема в том, что из-за проблем с сетью, находящимися вне моего контроля, транзакции базы данных на определенных компьютерах могут быть очень медленными.

Я играл с React/Redux приложениями для клиентов JavaScript за последние несколько недель и концепцией состояния. Теперь, насколько я могу судить, глобальное состояние или переменные довольно оскорблены сообществом Java. Ошибки, трудности при тестировании и т. Д.

Но Redux дал мне понять, что, когда пользователь нажимает «submit» вместо того, чтобы вставлять строку в SQL, он сохраняет этот объект в памяти на сервере. Затем через регулярные промежутки времени эта память вставляется в базу данных - поэтому пользователю не нужно ждать транзакций базы данных, а только связь с сервером. Обновления в таблице не смотрят на базу данных - они смотрят на эту память.

Но, опять же, как новичок, я не вижу, чтобы люди это делали. Почему это плохая идея?

ответ

1

В общем, это не сделано по двум причинам:

  • государство не гарантировано, потому что это на самом деле не написано. Если вы перезагрузите приложение до того, как данные будут сброшены в базу данных, он будет отключен. В общем, это нехорошо, хотя очевидно, но ваша интерпретация может очень. Если вам все равно, это может быть хорошо. Вы могли бы исправить это, сохранив его где-то локально.

  • Состояние также не гарантируется, потому что вы можете не записывать данные, поскольку, например, некоторые ограничения базы данных.

Так, в общем-то неодобрением, потому что вы лжете клиента ... Вы говорите, что вы написали, но нет никакого фактического усилия, чтобы обеспечить это на самом деле произошло.

Но с другой стороны. если данные менее важны, это может быть нормально.

Смежные вопросы