Существуют ли какие-либо платформы для обработки запросов к базе данных в приложениях swing?

StackOverflow https://stackoverflow.com/questions/143341

Вопрос

Я полагаю, что любой программист, который имел дело с запросами к базе данных в приложении с графическим интерфейсом, сталкивался с некоторыми или всеми из следующих проблем:

  • Ваш графический интерфейс зависает, потому что вы называете слой базы данных в случае диспетчеризируют поток
  • Когда у вас есть несколько окон / панелей / jframes, где пользователь может запустить запрос к БД, ваша производительность снижается, потому что у вас нет никакого контроля над потоками, которые создает ваш пользователь
  • Пользователь может заблокировать приложение и даже базу данных, потому что он вызывает какое-либо действие много раз, прежде чем первое действие будет завершено

О чем я хотел бы знать:существуют ли какие-либо фреймворки, которые удовлетворяют требованиям обработки упорядоченного набора длительных действий (включая, но не ограничиваясь ими, вызовы базы данных, т.е.вычисления) вне потока отправки событий?

Примечание:Я знаю о SwingWorker ;-)

Это было полезно?

Решение

Такую вещь следует найти, например, в Netbeans.Смотрите раздел RequestProcessor.Но в более простых случаях этого не требуется.В прошлый раз, когда мне понадобилось что-то вроде планирования потоков и управления ими, я просто использовал новые пакеты параллелизма, включенные в J5 (я использовал J6).С помощью его ExecutorFactory-ов вы можете просто получить базовый контроль над задачами.Вы также можете использовать некоторые очереди. Этот PDF-файл может помочь.PDF-файл написан на словацком языке, но отдельные / множественные рабочие задачи там написаны на Java ;)

Другие советы

Голые объекты облегчают создание чистой модели предметной области, и у них также есть уровень отображения GUI 2 DB -- http://www.nakedobjects.org/home/index.shtml

Я сомневаюсь, что вы найдете что-то конкретное для запросов к базе данных.Вы можете попробовать повторно использовать существующие универсальные библиотеки планирования задач.Примером может служить Eclipse jobs API.Это не зависит от среды разработки.

Видишь http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top