на моем сервере есть приложение ejb2 кластера weblogic. Эта таблица находится в БД, где другие пользователи будут одновременно создавать, обновлять и удалять.
На моих клиентских машинах полнофункциональное клиентское Java-приложение. Как я могу отправлять дельта-обновления изменений и в то же время поддерживать согласованное, всегда правильное представление таблицы? (следовательно, нет потерянного обновления, если потерянное обновление может быть обнаружено, потребуется механизм восстановления для повторной синхронизации представления)
Я думал об идее глобального номера редакции Subversion, но я не знаю, как реализовать его, так как приложение находится в кластере.
есть идеи, как это сделать?
Какие EJB-компоненты содержатся в вашем приложении?
Сессионный компонент без сохранения состояния
Как другие пользователи получают доступ к этой таблице?
Apache httpclient для JSP через сессионный компонент без сохранения состояния с подключением JDBC
Где теряется это обновление?
каждый клиент при запуске будет выполнять извлечение всей таблицы. Последующие обновления дельта-информации будут передаваться расширенному клиенту. Потерянное обновление происходит, когда клиент A пытается получить информацию, а клиент B редактирует таблицу. Поскольку редактирование клиента B состоит из дельта-информации, которая будет передана клиенту A, она может поступить быстрее. Клиент А не получил полную таблицу и, следовательно, отбрасывает дельта-информацию.