Существуют ли какие-либо платформы для обработки запросов к базе данных в Swing-приложениях? - PullRequest
4 голосов
/ 27 сентября 2008

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 27 сентября 2008

Обнаженные объекты облегчают модель чистого домена, и они также имеют слой отображения БД GUI 2 - http://www.nakedobjects.org/home/index.shtml

1 голос
/ 27 сентября 2008

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

1 голос
/ 27 сентября 2008

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

См. http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...