我相信任何在 GUI 应用程序中处理数据库请求的程序员都遇到过以下部分或全部问题:

  • 您的GUI冻结,因为您从事件调度线程中调用数据库层
  • 当您有多个窗口/面板/jframe 时,用户可以启动数据库请求,您的性能会下降,因为您无法控制用户创建的线程
  • 用户可以锁定应用程序甚至数据库,因为他在第一个操作完成之前多次调用任何操作

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

笔记:我知道 SwingWorker ;-)

有帮助吗?

解决方案

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

其他提示

Naked Objects 促进了一个干净的领域模型,它们还有一个 GUI 2 DB 映射层—— http://www.nakedobjects.org/home/index.shtml

我怀疑您会找到特定于数据库请求的东西。您可以尝试重用现有的通用任务调度库。Eclipse 作业 API 就是一个示例。这不依赖于 IDE。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top