`
文章列表
    近期自己折腾自己,放着正统的maven + junit不用,却准备用ant + ivy 替代maven做依赖管理,用testng替代junit做单元测试。     现在要做的工作,其实很简单,就是ant的脚本中,搞定相关的target: 编译,运行单元测试。     需要的步骤大体如下: 1. ivy 做依赖解析,得到所有依赖的jar包,以便生成编译源码需要的classpath路径 这里很重要的一点,是需要区分开编译正常代码的classpath和编译测试代码的classpath,因为通常情况下testcase需要一些特殊的依赖如juni,testng之类的测试框架 ...
    众所周知,对于高动态高可扩展的应用,OSGI是一个非常好的平台。但是,也因此增加了复杂性,开发中对service的依赖变得复杂。这也是service的关系管理成为OSGI中一个非常重要的部分,我们来看看OSGI中service依赖关系管理 ...
     最近公司的项目即将完成,正要进行最后的回归测试,正式release的时间线也快到了,比较紧张。结果就在这种关键时刻,在周五下午(恩,快下班的时候,我最恨这个时间出错了),发生一个bug:这个bug发生的几率极低,而一旦发生这个系统的traffic 都会因为这个bug报错退出。由于发生在关键时刻,于是被极度重视,当场召集人员开会,决定一定要第一时间查找出原因并尽快解决。     能够让系统的每个traffic请求都失败的bug,这个严重程度不言而喻。好吧,谁让我们是程序员呢,看看bug是怎么回事吧?     其实问题的表现很简单:在请求处理过程中,抛出了一个ThreadDeath 的 ...
    对比最近遇到的两个事情,明显感觉sun有力不从心或者心不在焉的感觉,oracle对sun收购的负面影响至少在开源社区方面是显而易见的,个人甚至怀疑oracle正在逐渐放弃之前sun一直努力支撑的开源社区。     第一个事情是前段时间使用apache新近发布的ant 1.8.0版本,发现一个小bug:没有什么实质错误,只是错误的打印了一些警告,看着闹心。随即在ant的缺陷追踪系统中提交了一个issue: https://issues.apache.org/bugzilla/show_bug.cgi?id=49162     提交的时间是2010-04-21 06:14:59,20 ...
刚刚鄙视完sun,继续performance tuning,结果又发现问题:测试中,偶尔会出现一些古怪错误,经检查,发现有以下可疑的异常: [# | 2010 - 05 - 05T14: 27 : 37.295 + 0800 | WARNING | sun - glassfish - comms - server2. 0 | com.sun.jbi.httpsoapbc.OutboundMessageProcessor | _ThreadID = 53 ;_ThreadName = HTTPBC - OutboundRecei ...
    依然是近期工作中发现的问题,真实案例,写下来分享给大家。     在开始本文之前,援引同事对此案例的一句评语:sun的程序员也是程序员啊!     开始讲故事吧,依然是performance tuning,还是老伎俩,加压力,做thread dump,然后检查。结果就发现有如下的线程,而且比率极大:dump出来大概总共70-80个工作线程,有5-6个在做这个事情,还有大概50个在等着做这个事情,也就是说大概80%+的工作线程都于此有关。 " HTTPBC-OutboundReceiver-221 "  daemon prio = 3  tid ...
近日做性能调优,主要是针对web service,运行于glassfish之上。前期通过修改优化代码,基本搞定一些阻碍性能的问题,主要是代码层次的不合理。 之后还是发现性能上不去,而且表现明显不合理:tps上不去,而服务器cpu只停留在10%附近,压力测试的客户端cpu也不高,20%-30%吧。反复thread dump后检查无果,不论是服务器端还是客户端的工作线程都算正常,没有发现线程/锁之类的问题。分析发现主要的症状是服务器端和客户端都压不上去,服务器端工作线程很空闲,客户端则忙于socket通讯及等待服务器返回。 于是开始怀疑问题可能出现在网络通讯上,一边跑压力测试,一边用nets ...
1) 下载 从atlassian网站http://www.atlassian.com/download/下载,地址:http://www.atlassian.com/software/fisheye/downloads/binary/fisheye-2.2.1.zip 当前最新版本2.2.1。 后面的安装过程中发现,其实这个就是Crucible 2.2.1的包, 在Crucible的下载页面  http://www ...
今天,尝试使用slf4j + logback的黄金组合,结果发现有点问题,slf4j和logback的最新版本不兼容。当然slf4j是1.6.0-RC0,正式发布时logback应该会跟进发布新的版本吧。     使用的版本如下ivy文件所示:         < dependency  org ="org.slf4j"  name ="slf4j-api"  rev ="1.6.0-RC0"             conf ="compile -> master" ...
这是一个真实案例,本周在工作中发现的,案例情况比较极端,因此显得很滑稽很搞笑。但是深入一下,还是有些东西值得思考。     先来看这个案例,在性能优化的过程中,通过thread dump发现有非常多的线程都在执行同一个数据库访问。而按照分析,在cache开启的情况下应该只访问一次才是,后面的数据库访问都是不应该的。     随即跟踪到问题代码:     // 1. get pk as method parameter     public  TrafficProfile createTrafficProfile(          long  serviceCapab ...
    在SUSE SLES11 下安装好tomcat6后,考虑方便需要设置tomcat为开机自动运行。     找到tomcat官方的安装文档 http://tomcat.apache.org/tomcat-6.0-doc/setup.html,按照要求安装,中间发现有些问题,记录下来备忘。 (1) 安装 jsvc     按照tomcat官方的要求,tomcat作为一个守护程序运行,需要用到jsvc工具: Tomcat can be run as a daemon using the jsvc tool from the commons-daemon project。 ...
这段时间简单的试用了一下jira,非常满意。准备作为个人之后开发的首选缺陷管理工具,但是当时采用的是windows的全集成安装方式,因此考虑在linux上正式的安装一下,同时将数据库换成mysql。 (1) 下载     用jira官网下载WAR/EAR 版本,主要不要下载Standalone 版本。jira的页面默认给出的是Standalone 版本的下载链接。请注意右侧的Recommended,Show all链接,点击Show all之后才会显示WAR/EAR 版本的下载链接。 (2) 安装准备工作     先安装resin, 再安装mysql,jdk是最新的jkd6 update ...
前面的blog有提到,在选择CMS系统时试用java版本的magnolia,结果很失望的放弃了。重新将目光投向php + mysql的传统CMS,我选择了drupal,下面是drupal的安装配置笔记。   (1) 下载     从drupal 官网   下载到最新的Drupal 6.16版本。     顺便说一下版本选择问题,Drupal目前有三个大版本: 7.0是最新版本,不过还处于alpha开发测试阶段,暂时还不适合作为产品使用。5.0版本比较旧了,按照官方说法,7.0正式发布后就停止支持,因此也不考虑。这样就只剩6.0系列,目前最新的就是今年3月初发布的6.16版本。 (2) ...
SUSE SLES11 上安装配置mysql的笔记,分享并备忘。 (1) 下载      从mysql官网 下载到最新的发行版本5.1.45,简单起见,直接下载SLES11的RPM版本: MySQL-server-community-5.1.45-1.sles11.i586.rpm MySQL-client-community-5.1.45-1.sles11.i586.rpm MySQL-shared-community-5.1.45-1.sles11.i586.rpm     对mysql版本的选择,个人意见,如果是作为产品首先考虑稳定性和性能,功能够用即可,版本上谨慎保守一 ...
最近想找个cms系统来用用,做点简单的东西,因为自己比较熟悉java,因此考虑试试java版本的cms系统先,记得之前hibernate网站改版,是换了一个java版本的cms的,特地找过去看了一下,magnolia,google了一下似乎好评还不少。于是下载下来开始研究。     延续这些年的习惯,安装过程一定要详细记录下来,避免日后再次安装时浪费时间,呵呵。     试用的结果很不好,还没有正式开始使用就决定放弃,原因请见下文。 1. 下载 http://www.magnolia-cms.com/home/top-level/download.html 考虑要求不复杂,下载免费的C ...
Global site tag (gtag.js) - Google Analytics