我回到了我的第一个 EclipseLink JPA 项目,并注意到了一些有关性能的问题。这是情况:

该应用程序与本地 Apache Derby DB 一起运行。在创建 EntityManager 期间,控制台会记录一些信息和警告,这需要几秒钟,但到目前为止还好。但是,如果我将整个代码打包成一个可执行的 jar 并在 Eclipse 之外运行,则整个过程需要更多的时间。

现在虽然首先找到这个问题的原因是明智的,但我至少想添加一个 ProgressBar 以便粗略地跟踪进度。

我查看了 EclipseLink wiki,发现它已经具有 PerformanceMonitor 和一些日志记录实用程序。我现在陷入了将 1 和 1 放在一起的看似简单的任务。

如何将 ProgressBar 与 EclipseLink 连接起来?或者另一种方法:首先如何记录 EclipseLink 的持续 Activity ?

任何帮助深表感谢。

干杯

最佳答案

您应该通过在 persistence.xml 文件的持久单元的属性中添加以下内容来启用 eclipselink 日志记录:

<property name="eclipselink.logging.level" value="DEBUG"/>

启用最详细的日志记录,如果还不够,甚至可以使用“全部”而不是“调试”。但是在进行生产时将其移除,否则该生产线本身会使速度变慢。

两个可能使 eclipse 链接变慢的常见事情是:

不需要时将其放在 persistence.xml 中:
<property name="eclipselink.ddl-generation" value="create-tables"/>

并且没有这个(如果你在persistence.xml文件中声明了de classes。如果你不这样做,请将其设置为false!!):
<exclude-unlisted-classes>true</exclude-unlisted-classes>

至于进度条,我会说这将非常困难,而且不精确,因为即使 eclipselink 也不知道它在开始时将处理的全部类(class)数量,所以我认为这不值得付出努力,但是很好如果你找到了一种方法来做到这一点,那就走运了。

关于java - 监控 EclipseLink JPA 进度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12107407/

10-12 02:49