数据库构建/清理时间
我注意到最近我们的xpages应用程序构建/编译时间已经大幅增加。它甚至可能需要几乎整整一分钟来清理应用程序。这是一个非常复杂的应用程序与一些控件(自定义控件和Java控件)和大量的遗留代码(js,ls,java),但类似的应用程序构建在纯ecplise与相同的java代码(这是这个应用程序的唯一部分发生变化)在不到3秒钟内完成清理...数据库构建/清理时间
我已经使用rcp调试控制台做了一些调查,并注意到清理过程中有一些疯狂的流量累计到15000个事务这个数据库只有300个设计元素,其中包含代码!)
日志看起来像这样重复一遍又一遍:
... [1240:0007-03E0](13586-124 [14561])OPEN_NOTE(REPC12579BB:0033C2FE-NT00003052,00400000):0ms。 [48 + 17446 = 17494]
[1240:0007-03E0](13587-124 [14562])OPEN_NOTE(REPC12579BB:0033C2FE-NT00006C12,00400000):1ms。 [48 + 32118 = 32166]
所以我的问题是:
这是否意味着中使用XPages建设者真的写的不好或者我不知道的东西?
毕竟它有一个解决方案来构建时间问题 - 它是新的Domino Designer 9.升级到公共测试版后,构建时间急剧下降(仅仅几秒)!
你在做项目 - 构建还是项目 - 全部构建。如果后者和您有多个NSF打开,那么构建将运行所有应用程序。您可以在Package Explorer中关闭应用程序。
当您说有300个设计元素时,您在Applications Navigator中看到的数字是多少?请记住,这只是实际构建文件海洋中的一滴水。 Package Explorer将显示每个XPage和Custom Control都有其他Java和xsp-config文件。这些是从您在XPages和Custom Control设计元素中看到的XML标记编译而来的Java类。但这并不是所有的东西。服务器或本地数据库不能运行.java文件。它需要运行为相关平台编译的.class文件。另外,在编译时还需要将其他.class文件合并到应用程序中,这可以通过在Package Explorer视图中选择Project - Properties来看到。如果您有本地化,每个XPage /自定义控件的每种语言还有更多文件。当然还有像xsp.properties这样的文件,一个激活器.java文件和.class文件。
XPage构建器可能看起来写得很差,因为这些文件需要创建。但它确实非常聪明,因为我们不需要编写Java,我们也不需要定义应用程序依赖的所有相关Java文件。我们不需要创建新的XSPInput或任何Java类用于各种控件。我们可以拖放,从漂亮的面板设置属性,这些面板可以让我们下拉或布尔选择器等。没有那些每次保存后应用程序的构建时间会更快,但开发时间会更慢。
我使用Project/Clean作为例子,所以我确信只有一个数据库被构建。 300是对任何类型代码的粗略估计 - 我没有包含动态创建的java和xml文件,因为这不是什么瓶颈。真正的问题是我的java类的编译需要2/3的时间 - 很容易证明,如果我把所有类放入jar中,编译时间急剧下降。幸运的是关闭了本地化(我必须说这是一个坏的机制)。 –
我忘了指出这一点:xpages使用类似xml的语言来声明定义应用程序结构(它允许漂亮面板工作)的事实对构建时间没有任何影响。问题是构建标准java所花的时间(我有很多是因为我没有使用ssjs) –
尝试使用本地数据库副本进行清理/编译,以查看是否存在网络问题。 –
随着本地副本的清理时间从50s下降到15s。它更好,但每次我想要测试应用程序时都会进行复制,增加了太多的开销,而且真的很烦人。 –
然后我会说你有网络速度问题。我也看到了这一点,但我相信8.5.3已经有所改进。 –