是否有一些框架可以在Swing应用程序中处理数据库请求?

时间:2020-03-06 14:49:19  来源:igfitidea点击:

我相信任何在gui应用程序中处理过数据库请求的程序员都会遇到以下一些或者所有问题:

  • GUI冻结,因为我们是从事件分配线程中调用数据库层的
  • 当我们有多个可以在其中启动数据库的窗口/面板/ jframe时,由于我们无法控制用户创建的线程,因此性能会降低
  • 用户可能能够锁定应用程序甚至数据库,因为他在第一个操作完成之前多次调用了任何操作

我想知道的是:是否有任何框架可以处理在事件分发线程之外处理一组有序的长时间运行的操作(包括但不限于数据库调用,即计算)的要求?

注意:我知道SwingWorker ;-)

解决方案

我怀疑我们会发现一些特定于数据库请求的东西。我们可以尝试重用现有的常规任务计划库。一个示例是Eclipse作业API。这不依赖于IDE。

参见http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html

例如,应该在Netbeans中找到这样的东西。请参阅RequestProcessor。但是在较简单的情况下,这不是必需的。上一次我需要诸如线程调度和控制之类的东西时,我只是使用了J5中包含的新并发包(我使用了J6)。使用其ExecutorFactory-ies,我们可以简单地实现对任务的基本控制。我们还可以使用一些队列。此PDF可以提供帮助。 PDF是用斯洛伐克语编写的,但是单/多任务工作者是用Java编写的;)

裸对象有助于建立干净的域模型,并且它们还具有GUI 2 DB映射层-http://www.nakedobjects.org/home/index.shtml