4

我有一个相当大的 xpages 项目,现在我在项目中添加了一些 jars(通过项目资源管理器添加了 9 个 jars)。将这些 jars 添加到类路径后,在 DDE 中保存每个 xpage 或自定义控件需要 25 秒,这太疯狂了(我有一台速度非常快的 iCore7 计算机,8GB RAM 并在我的笔记本电脑上运行的本地 Domino 服务器上工作......所有最新8.5.3)。

当我从类路径中删除这些 jar 时,保存时间又回到了 1 秒以下。将这些 jars 添加到类路径会增加最多 25 秒的保存时间。这是正常行为吗?如何在仍然使用罐子的同时避免这种情况?

4

4 回答 4

2

当您将 Jars 存储在 NSF 文件中时,Notes/Domino 必须在编译代码之前将它们分离以将它们添加到类路径中。每次调用它们时都会这样做,如果它们在服务器上,则必须在分离之前将它们传输到客户端。

在几个小罐子上,这不是问题(取决于使用频率)。但是,如果您经常调用大量 jar,则应该将它们放入“lib/ext”文件夹(例如 c:\notes\jvm\lib\ext)。

这样,它们只会在客户端/服务器启动时加载到内存中一次。

让我知道这是否正在发生,我会看看是否存在 SPR。

于 2012-11-05T10:35:38.357 回答
1

与这里的人交谈,开发一个有类似问题的应用程序。他们说一个特定的 jar 导致整个站点减慢它的速度。也许您可以尝试单独添加它们,看看是哪一个导致应用程序变慢。

于 2012-11-05T11:22:41.767 回答
1

如果延迟是由于将 JAR 从服务器传输到客户端引起的(如 Simon O'Doherty 所述),您可能会考虑在应用程序的本地副本中进行开发。

对于较大的应用程序,我总是以这种方式工作:在本地副本中开发,构建或清理该本地副本,然后在(本地或远程)Domino 服务器上刷新应用程序。

另一个提示:如果你以这种方式开发,如果你用 SSD 替换你的 HDD,你也可以获得很大的性能提升。

于 2012-11-06T09:22:43.867 回答
0

我在这里做了有趣的观察。根据 Simon D'Oherty 的建议,我将所有 jar 文件移至 lib/ext,突然在保存 xpage 或控件时没有延迟。当我将一个罐子放回数据库时,“构建工作区”消息会出现延迟。将所有内容移至 lib/ext 时,不再出现“Bulding workspace”消息和延迟。但是以这种方式工作相当糟糕,因为所有运行应用程序的开发人员和服务器都必须保留所有这些几乎无法维护的 jar。IBM 应该在数据库中解决这个问题!!

于 2012-11-06T07:33:08.173 回答