victor_armin
作者victor_armin·2012-09-25 19:40
其它·BJ-FANUC

[实战]挑战一次性加载5W条数据,如何提高xGrid的性能(二)

字数 1786阅读 1919评论 0赞 1
上一节内容中,我们使用采取了连续的两步优化后,将速度性能提升了10倍,这意味着原先一些需要50秒左右的事情,现5秒就可以搞定了;而在上一节的末尾,Victor留了一个悬念,我们事实上还可以将性能提高1倍,由于这种提升可以在之前的基础上连续提升的,所以意义还是很大的,但由于这一步的操作稍微有些复杂,所以单开一节介绍给大家。

首先,在开始一系列的步骤之前,我们先说说我们要怎么干?以及为什么这么干?


思路只有一个,使用java代码获取数据,并生成json,代码做的事情还是那些,但是写在java里和写在SSJS,速度直接相差1倍。但我们不会使用java代理,和java script Libraray一来是麻烦,二来是性能不优。我们将在XPages的SSJS中直接使用一个.java里的方法,顺带着本节内容将介绍如何将.java文件部署在一个NSF里,从而使得XPages可以直接使用.java里的方法。

如果你不想学习下面麻烦的如何部署.java的方法,那只要知道使用java写一段代码可以比用SSJS写相同的代码快1倍就可以了,对你而言,本节课已经结束,直接下载最后的NTF,对自己的xGrid进行刷新即可。

但如果你想学会这个有用的技巧的话,那我们开始吧:

第一步,你已经打开了Designer,那么根据下图所示,进入java视界(Victor用的英文版,可能翻译的不准),如果你熟悉Eclipse的话,应该不陌生这个概念

1.jpg 


第二步,从左侧列表里选中你的xGrid,右键,然后新建一个Source Folder

2.jpg 

第三步,在弹出的对话框中,输入下图的Path,这个是死记硬背的Path,只要你把.java放到了这个Path下,那XPages里就可以直接使用这些.java了,不需要知道原理是为什么,就如同你不需要知道JRE Path的Jar是怎么被Java引用的。
3.jpg 


第四步,确定现在在左侧列表了出现了一个新的Source Folder,如图所示
4.jpg 


第五步,接下来,右键新建的Source Folder,选择Import(其实还可以直接new,但我们这次假设你是使用从网上下载来的一个.java文件,所以Import是更常用的情况)

5.jpg 



第六步,在出现的对话框中选择如下的File System
6.jpg 


第七步,必须要要说,这步错误的概率是最高的,因此我特意画了一下顺序图,大家可以参考这个顺序图来Import你电脑上的.java文件,但必须要注意的是Into Folder的结尾一定要加上和你.java里Package包对应的地址,以我们的实战为例,这个.java是打包在app.xGrid里的,所以我们必须在Source Folder的结尾再加上/app/xGrid,切忌,如果忘了,那就删了Import进去的.java,重来一次。
7.jpg 


第八步,我们确认一下.java里的Package和我们放置的Path对应
8.jpg 


第九步,Clean一下我们的Project,这个也是Eclipse里的概念,其实也可以不做,不过养成一个习惯的话,会避免一些意想不到的问题。
9-1.jpg 


两种方式可以
9.jpg 


第十步,很关键的,我们必须要能回到Designer的视界来,不然岂不哭死
10.jpg 


第十一步,前面做了这么都是为了使用.java里的一个方法,现在我们新建一个XPages,名为xJsonContactsJava.xsp,我们将使用这个XPages作为传递json的XAgent,好了,注意红色框里的那行代码,前面做了这么多步,就是为了使用这行代码,正如你所见,我们像使用SSJS里所有的方法一样,可以直接使用.java里的方法了,想一想,加上我们已经掌握了XAgent的原理,那我们是不是的确可以说,Java可以实现的,我们现在就可以实现?
11.jpg 
下载 (111.64 KB)
半小时前



最后别忘了改变你xGrid里url值为JsonContactsJava.xsp,然后制造出5W条数据来,然后在你的服务器上测试10次试试,然后大家都留下截图,看看谁的服务器更快?

说好的实战模板,这个是模板,不带数据的,对你的xGrid进行刷新即可。  xGridX.ntf (1.97 MB)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广