自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

Vaadin初探

以前用过服务端的echo框架,感觉挺好使的,它可以在服务器上生成html,然后返回给浏览器。开发人员不需要了解html和javascript,就可以开发出web应用。在服务端使用的也都是类似于swing的API。唯一的缺陷是每个动作都要重新刷新一下页面,对ajax的支持比较滞后。虽然后来搞过echo和extjs的结合(Echo3Ext20),不过毕竟不是一家人,诸多困难,后来只...

2013-05-02 11:00:37 460

ElasticSearch 的一次非正常master脱离的调查

 一共有4个节点的cluster,其中es4 是master,某个时间突然es1脱离了整个cluster,调查过程如下:[es@bigdata1 logs]$ date; ssh bd4 date2012年 09月 03日 星期一 09:41:26 CST2012年 09月 03日 星期一 09:41:00 CSTes4比 es1 慢 26 秒,以下日志时间修改为e...

2012-09-03 10:05:41 761

ElasticSearch 与 Solr 的对比测试

本文从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。  单机对比1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 3092730  条记录,约合 3682条/秒。2. 3百万...

2012-08-01 14:13:51 843

恶心的Android 蓝牙

用Android 开发一个应用,其中想使用蓝牙来做数据交换。先查了一下资料,感觉还算简单,于是就开始了一整天的痛苦历程。 基本上用discover之类的能够很快的发现对方的蓝牙设备,但是在建立socket的时候,就出了一堆问题。刚开始,服务端用 adapter.listenUsingRfcommWithServiceRecord 加上某个UUID来监听,同时获得se...

2012-05-10 16:00:32 251

SmartGwtEE 之 SqlDataSource 的连接池

有个项目,使用了SmartGwtEE,并且直接采用了SmartGwtEE所提供的SqlDataSource。这样做的好处是可以利用它提供的 admin console 和 develop tools来直接定义ds.xml文件,只要事先做好数据库的设计,就很容易的自动生成所需要的ds.xml。 开发都没问题,到要部署的时候,做了一下压力测试,麻烦就来了。似乎缺省的配置里面,Sql...

2012-03-09 17:14:07 164

h2 database 的修复

为了方便,使用 h2 做为嵌入式数据库,没想到随着数据量增加,居然开始崩溃了。几张表加起来才一百万多条记录,访问量也不大,不知道什么情况造成了某张表不可查询,一查询就报 ArrayIndexOutOfBoundsException ,在h2的网站和issue里面都查了一下,不知道是什么情况。 幸亏这个不是生产系统,不过生产系统也不可能用h2。里面的数据丢失一些也无所谓,因此...

2012-02-06 14:03:49 1670

commons file upload导致jvm崩溃

环境: 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....

2011-08-02 13:39:58 274

EOS5 之 内存溢出问题的解决

不知道普元的EOS属于哪个分类,直接放在综合类里面了。 有个项目,使用EOS5.x开发的,部署在互联网上,每年都会周期性的接受大批量人访问。今年只是做了一些不大的调整,结果往年没有出错的应用,今年过不了多久就会报内存溢出错误。严重的时候,几分钟就要重启一下应用服务器,否则大家都没法访问。 刚开始的时候,认为改动的部分是引起错误的主因。查看EOS的日志,观察其可用内存大幅下降...

2011-03-02 17:39:22 529

GAE 的一些限制

Google Appengine 提供了很方便的平台,也提供了不少的服务。但是,也不可避免的添加了不少的限制。除了一些文件大小,数据库blob大小的限制之外,还有些非常理的限制。今天碰到的就是一个原来没想到的限制。 最开始使用一个 static 变量来存储一些缓存数据,例如数据的count之类的。后来发现这个缓存根本没有起作用。于是怀疑static 变量无效,搜索了一下,发...

2011-01-11 13:06:20 228

SmartGwt 之原生 Desktop(与gxt无关)

在前几天尝试了一下将 extjs的gwt封装即gxt的desktop与Smartgwt绑定在一起,效果还不错,不过有几个问题: 引入两个gwt的扩展,相互之间的js/css可能会有冲突如果在项目中使用,会增加学习成本。在gxt里面添加smartgwt的控件,有可能会出现问题。gxt 的 desktop 扩展起来麻烦。我的需求是要增加一个搜索框,就比较难实现。换肤的话,...

2010-12-29 11:36:04 148

SmartGwt 之 gxt desktop集成

很是羡慕 gxt 里面的 desktop,恨 smartgwt 没有这个功能,于是想把它集成到一个 smartgwt 的项目里面。smartgwt版本2.3,gxt版本2.2.1 for gwt2 首先是把 gxt 加入到项目当中,还算容易,拷贝jar文件到build path就可以了,当然,还要有gxt的那些资源文件。就这一点来说,gxt不如smartgwt。smartgwt...

2010-12-27 09:05:23 197

SmartGWT 之 redraw 的烦恼

用SmartGWT的 TileGrid 来展示一系列的图片,确实很方便。   DetailViewerField picField = new DetailViewerField( "url"); picField.setType( "image"); picField.setImageHeight( tileHeight); tileGrid.setFie...

2010-11-21 15:25:30 153

GAE 之 web.xml 解析错误

关于 Google Appengine 方面的文章不知道放在哪个分类。 最近试着做了一个appengine,其实比较简单,使用gae提供的eclipse插件,创建项目,然后使用它的各种API,做好之后上传,问题都不大。 但是这两天上传新版本的时候,总是提示 Bad configuration: Received IOException parsing the input...

2010-11-16 10:32:29 272

SmartGWT 之 TreeGrid 的拖拽排序

使用 ListGrid,当需要排序时,当然可以用上移下移这样的button来做排序。不过,既然SmartGWT 支持鼠标的Drag and Drop排序,何乐而不为呢。 首先,要 setCanReorderRecords( true),这样才能支持鼠标拖拽排序。其次,要将顺序持久化,就要将当前的顺序保存到服务端。ListGrid 有个 addRecordDropHandler,...

2010-10-29 16:11:06 208

SmartGWT 之 TreeGrid 缩进与ie8

以前用 SmartGWT 的 TreeGrid 没有一点问题。这次新建了一个项目之后,其中有个地方使用了 TreeGrid, 显示的时候,用别的浏览器没问题,但是用ie8的话,子节点就不缩进了。在SmartGWT的论坛上搜了一下,有不少人碰到了问题,但是提出的解决方案是  <meta http-equiv="X-UA-Compatible" content="IE=7"&...

2010-10-15 15:05:35 203

GWT 之 jsni及利用其它Ajax代码

有个框架,本身已经提供了一些 Ajax 访问的代码。如果要自己重新写,不仅要走 GWT RPC这样的东西,而且服务端的已有框架完全没法利用。所以,想用 jsni 来把这部分 Ajax 代码引入进来。 第一步,如何把其他js include进来? 办法有两个。一个是在 Html里面,用<script type="text/javascript" languag...

2010-07-16 08:37:15 217

SmartGWT 之 逻辑删除以及展示

逻辑删除而不是物理删除,是很常见的需求。我这里是因为要用到 syncml,所以删掉的联系人也不能真正删除,只能做标记。于是增加一个 status 字段,如果是 "D"的话,就表示删除。 对于 SmartGWTEE 来说,只要在 datasource 里面定义好了,增删改查都不用我做。那么,如何用最简单的办法做一个逻辑上的删除? 首先,肯定要自己自定义一个服务端的 Dat...

2010-05-25 10:07:18 155

三天不学习,赶不上比安奇 之 Hibernate onPreUpdate

还是Hibernate,用了以前的代码,在实体 update 之前,使用 PreUpdateEventListener,对实体当中的 lastModified 属性进行设置。这样,只要实体有 lastModified 属性,这个listener就会自动的将它的最后更新时间给设置为最新的。public boolean onPreUpdate( PreUpdateEvent event) ...

2010-05-24 10:14:29 287

Funambol 之 自定义 SyncSource

接着昨天的事情,继续往下走。 昨天已经成功的把数据源都增加进来了。今天就准备开始上数据了,测试的客户端使用的是 funambol自带的那个 demo。 拷贝一份 SyncServerServlet 的定义到 web.xml 当中,增加一个 servlet mapping  <servlet> <servlet-name>S...

2010-05-05 18:32:49 287

Funambol 之 jetty 与 gwt 集成

目标:想把 Funambol 8.5 集成到 gwt 里面来,提供一个 syncml 的服务。 首先面对的是,funambol缺省只支持 tomcat,而gwt 自1.6以后就是jetty了。于是,如何添加相应的 jndi datasource?刚开始,仿照安装了之后的 funambol目录,放入需要的jar文件,启动时自然会报一堆的 class not found 异常,还有 c...

2010-05-04 20:01:45 152

Eclipse 之 8年没解决的ITreeContentProvider 问题

使用eclipse 做一个rcp应用,其中要用到一棵树。于是自己写了一个 ITreeContentProvider 的实现,结果就因为这个bug:https://bugs.eclipse.org/bugs/show_bug.cgi?id=9262一直有问题,那个树就一直无穷无尽的往下展开同样的一个目录。现象就如那个bug里面提到的: The view should show ....

2010-04-26 09:26:05 299

SmartGWT 之 builtinTypes.xml 找不到的异常

这个异常,我碰到了两次。第一次是刚开始用SmartGWT的时候,碰到这个异常。当时没多想,刷新了几次就可以了。现在想来,是因为SmartGWT启动的时候,会自动的将它的资源展开,其中就包含 builtinTypes.xml。而因为我使用 eclipse开发,这些自动展开的资源,并没有被刷新进eclipse。所以,当我下一次启动eclipse的时候,eclipse会认为这些资源不存在...

2010-04-15 09:08:36 112

SmartGWT 之 神秘的 xxx is not a function

在 calendar 当中,增加了一些 EventEditor Fields。其中有两个 SelectItem,想用这两个 SelectItem 来做联动,但是怎么也不成功。设置的 criterian 都不起作用。于是想偷懒,其中一个 SelectItem变化时,把另外一个 disable掉,于是调用 otherSelectItem.disable()方法。这时候,出现了一个异常,...

2010-04-12 10:20:52 251

Hibernate Search 之 搜索结果分页

试图搜索一个返回很多结果的关键词时,系统报内存溢出的异常: 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.S...

2010-04-08 10:15:49 206

用 h2 替换 hsql

开发时用hsql做数据库,没什么问题。部署的时候,碰到数据量比较大的情况,就有点感觉慢了。这个时候,想替换方案时,考虑了几个可能的替代。一个是mysql,肯定没问题,但是部署麻烦,被否定了。其他的java数据库,可选的包括 mocki,这个很久没更新,否了。derby 也就是 java db看起来也不错,不过更让我感兴趣的是 h2 。就是原来 hsql 的作者另起炉灶写的一个数...

2010-04-06 12:57:28 429

监听文件变化的 JNotify

其实还是全文检索的需求。对某个目录下的文档都做了全文检索。自然会关注这些文档的变化。最开始的方案是轮询。每隔一段时间就轮询一次。当做全文检索的文件比较多的时候,这种轮询需要花费很多的时间。而且,每个文档都要检查是否有更新,就意味着每次都要查数据库,对数据库的压力也有一些。总之感觉不爽。 于是想着替代方案,最好就是能监听文件的变化。只有文件发生变化的时候,才去更新数据库,并且...

2010-04-02 18:12:00 365

SmartGWT 之 optionDataSource灵异事件

MyCalendarEvent 与一个 Task相关联,也就是个外键,使用 SelectItem来选择相应的 Task。很自然的就用到了         taskSelectItem.setOptionDataSource( DataSource.get("task"));按理说这是个很简单的事情,结果就出错了,报告说 getOptionDataSource 是 null。非常奇怪,如...

2010-03-19 13:31:42 113

老调重弹 之 性能调优

昨天帮一个朋友去调他们公司做的一个系统的性能。说是调了一个星期,并发量还是上不去。到现场看了一下,是用 spring + hibernate 做到一套系统,使用了 spring 的 MVC,以及ehcache作为缓存。感觉他们使用 hibernate 的关系太多了,很多 一对多,多对多的关系。在没有压力的情况下,系统还算正常。只要加压,就经常出现 lazy load的 session ...

2010-03-15 10:18:26 114

SmartGWT 之 Calendar 真简单

使用 SmartGWT 的 Calendar 还是很简单的,而且还比较好用。首先看SmartGWT 的 ShowCase,里面用的DataSource 都是 client only的,这个当然不是我所需要的。于是首先按照 CalendarEvent 类的构造函数,搞了一个server 端的 Bean,当然是受 hibernate 管理的那种了。 @Entity@Indexe...

2010-03-11 17:50:12 176

SmartGWT 2.1 发布了

SmartGWT 发布了 2.1 版本,我比较感兴趣的新功能有这些: 新的Graphite 皮肤ListGrid 的Cell当中可以是任意的组件了。可以显示 row numberToolStrip 更加象 Toolbar了,还有垂直的 ToolStrip打印的 View 可定制性更强了,例如可以定义在打印时显示多少行数据,可以和展示的View不一样。不错,2...

2010-03-04 22:54:30 115

郁闷,看来 SmartGWT 不打算支持UiBinder

看这篇文章: http://forums.smartclient.com/showpost.php?p=36088&postcount=4看样子SmartGWT 的人认为 UiBinder 对 SmartGWT来说是一种倒退,而且SmartClient本身也提供了一套以 xml 来写UI的东西。 不过,不依靠标准,总是会出现问题的。而且,使用UiBinder,可以很方便的将...

2010-02-25 23:02:26 127

Hibernate Search 之 精确与 All Fields 搜索

在使用 Hibernate Search时,为了降低复杂性,通常都把所有的 @Field 加上name = "ALL",然后在搜索的时候,只支持对 "ALL" 这个 Field 的搜索。这样的好处当然是简单,不需要在搜索的时候去解析用户的输入,高亮的时候也不需要去逐个解析搜索条件。 当然,有利必有弊,坏处就是不能精确的检索。例如,我只想找标题里面含有某个特殊字符的,那么我的...

2010-02-23 12:49:42 910

原创 IllegalStateException 的解决办法

公司一个老项目,这两天爆出了一个问题。异常都是 java.lang.IllegalStateException: getOutputStream() has already been called for this response 这个项目的内容,就是通过页面下载一个word文件,当然这个word文件是根据用户的选择动态生成的。当时实现这个功能的人,没有用servle...

2010-02-22 15:46:53 1905

原创 SmartGWT 之显示带 Icon 的DetailViewer

和刚才的需求一样,我要在一个 DetailViewer里面加上 icon,试了好几种方法,类似于ListGrid里面的 setCellStyle和 覆盖setCellStyleHandler 方法都试过了,前者不起作用,后者只能返回css 的 class,而不像 ListGrid 里面可以返回text 的 style。 幸好 DetailViewerField 还有个 De...

2010-02-11 15:58:44 148

原创 SmartGWT 之 显示带Icon的Field

常常会需要在Field的某一列显示一个icon,例如文件列表,在文件名前面放一个icon。很正常的需求,但是SmartGWT的 ListGrid,只能在设置 ListGridField 的时候,设置其type 为 image 或者 icon。而对于在同一列里面既要显示icon,又要显示文本,似乎比较困难。 幸好 ListGrid 有个 getCellCSSText 的方法可以覆...

2010-02-11 12:53:09 237

原创 GWT 之 害死人的 firefox 缓存

前几天部署了一下SmartGWT做的应用,今天有些小修改,又重新 compile 之后,把目标目录覆盖了一下。这个时候,噩梦开始了。 首先,表现出来的症状就是后台抛出个异常,是 org.eclipse.jetty.util.log.StdErrLog.format 里面的NullPointerException。这个 jetty7,也没判断一下 Throwable 是不是空,当然,...

2010-02-11 09:47:40 233

原创 SmartGWT 之 换肤

SmartGWT的换肤不是问题,他的showcase里面就有例子。不过有个问题,smartgwt-skins.jar 里面的皮肤和smartgwt.jar里面的Enterprise Blue/Enterprise Gray 皮肤的css定义有些不配套。例如, button_Over_stretch.png放的位置就不一样,缺省的在 cssbutton目录下,而TreeFrog则在but...

2010-02-09 09:06:57 195

原创 Hibernate Search 之 进度Monitor

在 http://simonlei.iteye.com/blog/577068 这篇文章中,我找到了一个简单的办法来对索引进行reindex。不过,现在又有个需求,我希望能够对 reindex的过程做一个进度条。 看了一下文档,fullTextSession.createIndexer() 得到的实际上是 MassIndexerImpl,使用这个类的 startAndWai...

2010-02-03 17:36:20 124

原创 SmartGWT 的hover更新办法

我的需求很简单,一个ListGrid,大概只显示了最重要的两列,更多的内容呢,不外乎几种方式展现。一种是双击打开Dialog,用户操作起来太麻烦,放弃;另一种是用Expand,在每一行前面有个小加号,用户点击之后展开。不仅丑,而且麻烦,放弃;用hover,用户鼠标放上去之后,就把详细的信息给展示出来,鼠标移走后就没有了,这个不错,就它了。决定了之后,就是用 hover ha...

2010-02-03 08:26:42 127

原创 SmartGWT 里动态DataSource的实现思路

这个思路其实是为了解决title 中文问题的时候发现的。当时想着,实在不行我就自己做一个DataSource的定义。SmartGWT 里,DataSource就是它的元数据核心。这里,DataSource实际上有两个,其一是客户端的 com.smartgwt.client.data.DataSource,这部分是开源的,可以自己随意创建。另一个是服务器端的 com.isomorph...

2010-02-01 13:18:08 160

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除