Вот сценарий.У меня есть приложение, которое может быть в постоянном соединении с сервером по нескольким причинам.Есть три основных набора объектов, которые мне нужно получить или опубликовать на веб-сервере.
Объекты бизнес-данных.По сути, это данные, которые передаются с сервера на клиентские машины и хранятся в локальной БД.Если пользователь обновляет данные на своем локальном компьютере, они помечаются и должны быть отправлены для синхронизации с сервером.Существует около 6 пользовательских классов, которые должны будут извлекать данные и отправлять данные на сервер (при необходимости).
Файлы.Как говорится, эта синхронизация для файлов.Файлы могут быть загружены на сервер.Но что более важно, файлы могут быть загружены на клиент.Будут файлы, которые автоматически отправляются с сервера, и другие файлы, которые будут доступны по запросу.
Запросы на подключение / вход в систему.Эти синхронизации будут извлекать информацию о пользователях с сервера и регулярно проверять наличие обновленной информации и проверять разрешения.Также должна быть проверка, чтобы убедиться, что приложение подключено к серверу, и если соединение потеряно, то обработайте это соответствующим образом.
Я очень новичок в Кварце, и япытаясь придумать лучший способ настроить эти 3 различные синхронизации, которые я хочу, чтобы произошло.У меня есть несколько вопросов.
Если бы я хотел иметь несколько пулов потоков, я бы просто хотел создать 3 отдельных фабрики планировщика?Как мне сделать это с помощью конфигурации, или мне нужно, чтобы она была закодирована для явной установки свойств Quartz перед каждым созданием фабрики?
Синхронизация объектов бизнес-данных будеттяжелая нагрузка в разы.Когда пользователь впервые входит в систему или получает дополнительные разрешения, ему может потребоваться загрузить до 10 000 объектов / записей с сервера.Это было бы нечастым случаем, и в идеале пользователь должен был бы подключиться, все данные были бы загружены, и через 5-10 минут они могли бы использовать приложение в своих целях.Эта синхронизация должна постоянно проверять сервер на наличие новых данных и отслеживать локальные данные на предмет необходимости отправки новых данных на сервер.Имеет ли смысл иметь фабричную обработку всего этого с собственным пулом потоков, скажем, 10 потоков?
В конечном счете, я просто пытаюсь выяснить, как изначально спланировать этоВесь процесс и разделить вещи на части, чтобы легко управлять ими и делать это правильно.Это для подтверждения концепции, и любая помощь будет принята с благодарностью.Пожалуйста, не стесняйтесь критиковать любое из вышеперечисленного.
Спасибо!