`
SimonLei
  • 浏览: 176738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
有个框架,本身已经提供了一些 Ajax 访问的代码。如果要自己重新写,不仅 要走 GWT RPC这样的东西,而且服务端的已有框架完全没法利用。所以,想 用 jsni 来把这部分 Ajax 代码引入进来。   第一步,如何把其他js include进来?   办法有两个。一个是在 Html里面,用 <script type="text/javascript" language="javascript" src="/xxx.js"></script>  另外一种,我更喜欢的是放在 .gwt. ...
逻辑删除而不是物理删除,是很常见的需求。我这里是因为要用到 syncml, 所以删掉的联系人也不能真正删除,只能做标记。于是增加一个 status 字段, 如果是 "D"的话,就表示删除。   对于 SmartGWTEE 来说,只要在 datasource 里面定义好了,增删改查 都不用我做。那么,如何用最简单的办法做一个逻辑上的删除?   首先,肯定要自己自定义一个服务端的 DataSource。在 ds.xml 文件当中, 增加这个类的定义:   <DataSource ID="contactPerson" ...
还是Hibernate,用了以前的代码,在实体 update 之前,使用 PreUpdateEventListener, 对实体当中的 lastModified 属性进行设置。这样,只要实体有 lastModified 属性,这个listener 就会自动的将它的最后更新时间给设置为最新的。 public boolean onPreUpdate( PreUpdateEvent event) { try { Object entity = event.getEntity(); Method method = entity.getClass().g ...
接着昨天的事情,继续往下走。   昨天已经成功的把数据源都增加进来了。今天就准备开始上数据了, 测试的客户端使用的是 funambol自带的那个 demo。   拷贝一份 SyncServerServlet 的定义到 web.xml 当中,增加一个 servlet mapping   <servlet> <servlet-name>SyncServerServlet</servlet-name> <display-name>SyncServerServlet</display-name ...
目标:想把 Funambol 8.5 集成到 gwt 里面来,提供一个 syncml 的服务。   首先面对的是,funambol缺省只支持 tomcat,而gwt 自1.6以后就是jetty了。 于是,如何添加相应的 jndi datasource?刚开始,仿照安装了之后的 funambol 目录,放入需要的jar文件,启动时自然会报一堆的 class not found 异常,还有 config 目录找不到的问题。等把需要的 jar 文件和 config 目录都拷贝一下放进去之后,开始 出现 jndi 找不到的问题了。   首先是 jdbc/fnblcore 这个 datas ...
使用eclipse 做一个rcp应用,其中要用到一棵树。于是自己写了一个 ITreeContentProvider 的实现, 结果就因为这个bug:https://bugs.eclipse.org/bugs/show_bug.cgi?id=9262 一直有问题,那个树就一直无穷无尽的往下展开同样的一个目录。现象就如那个bug里面提到的:   The view should show ... root + ch1 + ch2 + ch21 + ch22 + ch23 ... but it shows ... root + root + r ...
这个异常,我碰到了两次。第一次是刚开始用SmartGWT的时候,碰到这个异常。 当时没多想,刷新了几次就可以了。现在想来,是因为SmartGWT启动的时候,会 自动的将它的资源展开,其中就包含 builtinTypes.xml。而因为我使用 eclipse开发, 这些自动展开的资源,并没有被刷新进eclipse。所以,当我下一次启动eclipse的时候, eclipse会认为这些资源不存在。好解决,刷新一下eclipse就ok了。   第二次碰到这个异常,是昨天。根据经验主义,又认为是老问题。虽然也有点奇怪,明明 没有更新smartgwt,为啥它也会出现这种问题。于是删了那个目录, ...
在 calendar 当中,增加了一些 EventEditor Fields。 其中有两个 SelectItem,想用这两个 SelectItem 来做联动,但是怎么 也不成功。设置的 criterian 都不起作用。于是想偷懒,其中一个 SelectItem 变化时,把另外一个 disable掉,于是调用 otherSelectItem.disable()方法。 这时候,出现了一个异常,错误是 disable is not a function。   这个时候,不管是 disable 还是 hide,都是这样的一个异常。于是回忆以前曾经 也出现过这种错误,那时候是使用 grid ...
试图搜索一个返回很多结果的关键词时,系统报内存溢出的异常:   java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2882) at java.lang.StringCoding.safeTrim(StringCoding.java:75) at java.lang.StringCoding.access$100(StringCoding.java:3 ...
开发时用hsql做数据库,没什么问题。部署的时候,碰到数据量比较大的情况, 就有点感觉慢了。这个时候,想替换方案时,考虑了几个可能的替代。 一个是mysql,肯定没问题,但是部署麻烦,被否定了。 其他的java数据库,可选的包括 mocki,这个很久没更新,否了。 derby 也就是 java db看起来也不错,不过更让我感兴趣的是 h2 。 就是原来 hsql 的作者另起炉灶写的一个数据库,功能和特性都很强大,见 这儿   我比较喜欢的是它自带了一个管理界面。其他的功能例如能加密存储,也很感兴趣, 还有更强的事务能力什么的。   然后就是一个迁移的问题了。本身它的使用和 ...
其实还是全文检索的需求。对某个目录下的文档都做了全文检索。自然会关注这些文档的变化。 最开始的方案是轮询。每隔一段时间就轮询一次。当做全文检索的文件比较多的时候,这种 轮询需要花费很多的时间。而且,每个文档都要检查是否有更新,就意味着每次都要查数据库, 对数据库的压力也有一些。总之感觉不爽。   于是想着替代方案,最好就是能监听文件的变化。只有文件发生变化的时候,才去更新数据库, 并且更新全文的索引。于是用google搜了一下。发现有不少实现方式还是我使用的那种,采用 轮询的方式。而且大部分都是将关注的文件列表放在内存当中。这对于监听量比较大的情况,就 不适合了。   还搜到 ...
MyCalendarEvent 与一个 Task相关联,也就是个外键,使用 SelectItem来选择相应的 Task。 很自然的就用到了         taskSelectItem.setOptionDataSource( DataSource.get("task")); 按理说这是个很简单的事情,结果就出错了,报告说 getOptionDataSource 是 null。 非常奇怪,如果是个 ListGrid 里面这么用,设置 ListGridField的 optionDataSource就没事。 很是灵异。   于是用FireBug跟踪了一下,在 getO ...
昨天帮一个朋友去调他们公司做的一个系统的性能。说是调了一个星期,并发量还是上不去。 到现场看了一下,是用 spring + hibernate 做到一套系统,使用了 spring 的 MVC,以及 ehcache作为缓存。感觉他们使用 hibernate 的关系太多了,很多 一对多,多对多的关系。 在没有压力的情况下,系统还算正常。只要加压,就经常出现 lazy load的 session closed 异常。而且,在压力的情况下,系统响应速度慢,应用服务器和数据库服务器的压力都很低。   加压使用的工具是loadrunner,分布在5台计算机上模拟vuser,并发上一两百都比较困难 ...
使用 SmartGWT 的 Calendar 还是很简单的,而且还比较好用。 首先看SmartGWT 的 ShowCase,里面用的DataSource 都是 client only的, 这个当然不是我所需要的。于是首先按照 CalendarEvent 类的构造函数,搞了一个 server 端的 Bean,当然是受 hiber ...
SmartGWT 发布了 2.1 版本,我比较感兴趣的新功能有这些:   新的Graphite 皮肤 ListGrid 的Cell当中可以是任意的组件了。 可以显示 row number ToolStrip 更加象 Toolbar了,还有垂直的 ToolStrip 打印的 View 可定制性更强了,例如可以定义在打印时显示多少行数据,可以和展示的View不一样。 不错,2.0到2.1的一个小版本就提供了这么多新功能,看起来还是很活跃的。 这只是一部分,还有更多的更新,见 http://www.jroller.com/sjivan/entry/smart_gwt_2_1 ...
Global site tag (gtag.js) - Google Analytics