`
SimonLei
  • 浏览: 176157 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

Vaadin初探

以前用过服务端的echo框架,感觉挺好使的,它可以在服务器上生成html, 然后返回给浏览器。开发人员不需要了解html和javascript,就可以开发出 web应用。在服务端使用的也都是类似于swing的API。唯一的缺陷是每个 动作都要重新刷新一下页面,对ajax的支持比较滞后。虽然后来搞过echo和 extjs的结合(Echo3Ext20),不过毕竟不是一家人,诸多困难,后来只好放弃这个框架。   说了这么多前奏,才开始说说vaadin。我用的是Vaadin 7。Vaadin也有不短的历史, 最近关注是因为它也有个server框架,和echo很类似,但它不是每次都生成整 ...
  一共有4个节点的cluster,其中es4 是master,某个时间突然es1脱离了整个cluster,调查过程如下: [es@bigdata1 logs]$ date; ssh bd4 date 2012年 09月 03日 星期一 09:41:26 CST 2012年 09月 03日 星期一 09:41:00 CST es4比 
本文从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。     单机对比 1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 3092730  条记录,约合 3682条/秒。 2. 3百万条记录的情况下,模糊查询和排序基本都在1秒内返回 3. 刚才的测试,是每个
用Android 开发一个应用,其中想使用蓝牙来做数据交换。 先查了一下资料,感觉还算简单,于是就开始了一整天的痛苦历程。   基本上用discover之类的能够很快的发现对方的蓝牙设备,但是在 建立socket的时候,就出了一堆问题。刚开始,服务端用   adapter.listenUsingRfcommWithServiceRecord   加上某个UUID来监听,同时获得serverSocket,客户端用    serverDevice.createRfcommSocketToServiceRecord   来获取socket,然后就在 socket.connect ...
有个项目,使用了SmartGwtEE,并且直接采用了SmartGwtEE所提供的SqlDataSource。 这样做的好处是可以利用它提供的 admin console 和 develop tools来直接定义ds.xml文件, 只要事先做好数据库的设计,就很容易的自动生成所需要的ds.xml。   开发都没问题,到要部署的时候,做了一下压力测试,麻烦就来了。似乎缺省的配置里面, SqlDataSource就不使用连接池。虽然搜了一下smartgwt的论坛,它里面是说应该是自带了 连接池,但是最大连接数什么的没法设置。   现象就是,在pl/sql里面查询 v$session,发 ...
为了方便,使用 h2 做为嵌入式数据库,没想到随着数据量增加,居然开始崩溃了。 几张表加起来才一百万多条记录,访问量也不大,不知道什么情况造成了某张表不可 查询,一查询就报 ArrayIndexOutOfBoundsException ,在h2的网站和issue 里面都查了一下,不知道是什么情况。   幸亏这个不是生产系统,不过生产系统也不可能用h2。里面的数据丢失一些也无所谓, 因此,只好把数据导出,然后再想办法导入。h2提供了一些工具,导出比较简单,bat文件:   java -Xms256m -Xmx1024m -XX:MaxPermSize=32m -cp &quo ...
环境: Redhat Advanced Server 4, jdk 1.4.2_06, tomcat 5.0.28  症状:jvm大概每一两天就要崩溃一次 解决过程:   hs_err_pidxxx.log 文件当中,前几行是:     An unexpected exception has been detected in native code outside the VM. Unexpected Signal : 11 occurred at PC=0xB4ACA6 Function=strcpy+0x26 Library=/lib/tls/libc.so.6   ...
不知道普元的EOS属于哪个分类,直接放在综合类里面了。   有个项目,使用EOS5.x开发的,部署在互联网上,每年都会周期性的接受大批量人访问。 今年只是做了一些不大的调整,结果往年没有出错的应用,今年过不了多久就会报内存溢出错误。 严重的时候,几分钟就要重启一下应用服务器,否则大家都没法访问。   刚开始的时候,认为改动的部分是引起错误的主因。查看EOS的日志,观察其可用内存大幅下降 的地方,有很多业务逻辑都在这个时候调用,并没有发现很有价值的内容。但是其中一个有大量的 文档生成并提供下载的地方,引起了我们的注意,认为可能是这些文档一直在内存当中,只有等用 户下载完之后才会释 ...
Google Appengine 提供了很方便的平台,也提供了不少的服务。 但是,也不可避免的添加了不少的限制。除了一些文件大小,数据库 blob大小的限制之外,还有些非常理的限制。今天碰到的就是一个 原来没想到的限制。   最开始使用一个 static 变量来存储一些缓存数据,例如数据的count之类的。 后来发现这个缓存根本没有起作用。于是怀疑static 变量无效,搜索了一下,发现 http://stackoverflow.com/questions/4028787/is-it-thread-safe-to-store-data-inside-a-static-field-w ...
在前几天尝试了一下将 extjs的gwt封装即gxt的desktop与Smartgwt绑定在一起, 效果还不错,不过有几个问题:   引入两个gwt的扩展,相互之间的js/css可能会有冲突 如果在项目中使用,会增加学习成本。 在gxt里面添加smartgwt的控件,有可能会出现问题。 gxt 的 desktop 扩展起来麻烦。我的需求是要增加一个搜索框,就比较难实现。 换肤的话,要同时换两套,会比较麻烦,而且风格不一致 基于这些原因,我还是想自己搞一套desktop。 其实也简单,模仿gxt的desktop,搞出这么几个类:Desktop, Shortcut, TaskB ...
很是羡慕 gxt 里面的 desktop,恨 smartgwt 没有这个功能,于是想把它集成到 一个 smartgwt 的项目里面。smartgwt版本2.3,gxt版本2.2.1 for gwt2   首先是把 gxt 加入到项目当中,还算容易,拷贝jar文件到build path就可以了, 当然,还要有gxt的那些资源文件。就这一点来说,gxt不如smartgwt。 smartgwt的所有资源文件都放在jar文件里面,然后会自动释放到war的相应 目录下。而gxt还是沿用最早的gwt方式,要手工拷贝到 war 目录下。   随后修改 .gwt.xml文件,修改html文件,引 ...
用SmartGWT的 TileGrid 来展示一系列的图片,确实很方便。     DetailViewerField picField = new DetailViewerField( "url"); picField.setType( "image"); picField.setImageHeight( tileHeight); tileGrid.setFields( picField); 只要这样就可以显 ...
关于 Google Appengine 方面的文章不知道放在哪个分类。   最近试着做了一个appengine,其实比较简单,使用gae提供的eclipse插件, 创建项目,然后使用它的各种API,做好之后上传,问题都不大。   但是这两天上传新版本的时候,总是提示   Bad configuration: Received IOException parsing the input stream for xxxx/web.xml   这个就让人很郁闷了。刚开始以为是开发端的服务器占用了web.xml导致这样的问题, 于是关闭开发端的应用服务器,有时就能成功。后来这招也不灵了 ...
使用 ListGrid,当需要排序时,当然可以用上移下移这样的button来做排序。 不过,既然SmartGWT 支持鼠标的Drag and Drop排序,何乐而不为呢。   首先,要 setCanReorderRecords( true),这样才能支持鼠标拖拽排序。 其次,要将顺序持久化,就要将当前的顺序保存到服务端。ListGrid 有个  addRecordDropHandler,本来想用这个,后来一看,这个是在drop  之前调用的,这个时候还不知道drop之后的顺序,所以不行。后来找到 了一个 addDragStopHandler,终于是在排序之后调用的。接下来就 简单 ...
以前用 SmartGWT 的 TreeGrid 没有一点问题。这次新建了一个项目之后, 其中有个地方使用了 TreeGrid, 显示的时候,用别的浏览器没问题,但是用 ie8的话,子节点就不缩进了。在SmartGWT的论坛上搜了一下,有不少人 碰到了问题,但是提出的解决方案是    <meta http-equiv="X-UA-Compatible" content="IE=7">   也就是退回到 ie7兼容模式。我使用ie7兼容模式,确实可以正常显示,但是 总感觉很奇怪。今天偶尔看   http://www.smartc ...
Global site tag (gtag.js) - Google Analytics