`
ferreousbox
  • 浏览: 284880 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
    日志组件是每一个系统在开发的时候必不可少的东东,目前已经有了很多日志组件,如log4j、jdk的logger等,其他作为日志门面的有apache的commons.logging、slf4j等,它们都是用来整合不同的日志组件的,避免系统依赖于某一个特定的日志组件,在slf4j出现以前,大家最常用的组合就是commons logging和log4j了,所以很多以前开发的组件(如apapche的绝大多数组件)都是采用commons logging来记录日志。       在OSGI环境中使用日志其实是一个比较麻烦的问题,毕竟很多以前开发的组件并不是为OSGI而设计的,所以有诸多不良反应,而这些 ...
    这两天在研究spring dm中web module时候遇到些问题,现已成功解决,现在将问题和解决方法发布如下,避免大家继续走弯路,呵呵。   1.开发的时候请使用OSGI推荐的Import-Package方式来导入包,不要直接设置工程的依赖,这个不是我遇到的问题,也拿出来说下,因为OSGI的开发方式还是有些不一样的。   2.在spring的bean定义文件中,如果有用到spring框架的类,请将其package使用Import-Package导入到class-path中,比如org.springframework.web.servlet.handler.SimpleUrlHandle ...
    这两天有空整理了下以前使用java applet开发的大文件上传组件,然后在google code上弄了个开源项目,大家有兴趣的可以到如下地址访问: http://code.google.com/p/mupload     由于刚放上去,东西也不是很多,只有三个下载,包括源代码、发布版本和例子程序,源代码已经submit到SVN中,其他的如wiki等还需要完善,希望大家多多提建议!   PS: 我看到有人回复质疑applet,我当然知道applet的不成功,这里我开发的是一个基于applet的大文件上传网页插件,倾向于使用applet是因为作为java技术人员的优势,而且网络上流传的大文 ...
    在之前的文章http://ferreousbox.iteye.com/admin/blogs/242636中介绍了部署和应用OSGI系统,但是文章中介绍的是手动部署和管理方式。今天介绍的主要就是自动查找Bundle和安装部署的应用,还是以Equinox为实现框架来介绍,同时也参考 ...
    在RCP中应用OSGI的DS(Declarative Service)服务,特别要注意各个Bundle(插件)的启动顺序,其中org.eclipse.equinox.ds_1.0.0.v20080427-0830.jar(DS服务的Bundle)这个Bundle要比其他需要DI Service的Bundle启动要早,同时又要比它依赖的Bundle启动要迟。equinox的DS插件依赖如下:   1.org.eclipse.osgi.services_3.1.200.v20071203.jar 2.org.eclipse.equinox.util_1.0.0.v20080414.jar( ...
    大家如果关注eclipse的话应该会注意到,目前eclipse的底层插件体系架构已经改成了OSGI的插件结构。OSGI就是“开放服务网关协议”,OSGI官方称是面向服务的系统架构,也可以理解为面向组件的架构,系统中每一个组件或者一个模块称之为bundle,这也是OSGI里的概念模型。更多的OSGI的介绍,大家可以Google一下或baidu一下。       本人接触OSGI时间不长,没有过多的深入,也是初涉OSGI,不过也是非常看好目前这一架构的,相信应该是后期软件开发的潮流吧。今天主要是记录下如何部署一个单独的OSGI系统,一来便于自己以后速查,二来也希望可以给初学者一个Best P ...
    今天在弄以前的框架的时候发现一个非常奇怪的js和css的加载问题,平常我们一般写js和css的load脚本如下:   <script language="javascript" src="/js/test.js"></script>       这样的加载是没有问题,但是如果将src改为://js/test.js后就出现无法加载的问题了!我目前在本机的IE和FF下都测试过,都存在这样的问题,不知道是规范如此,还是本机的测试环境有问题?不解……
    我们在使用QQ的时候,可以通过向好友发送一个窗口抖动,然后就可以看到窗口在不段的跳舞了,呵呵。其实,我们在java中也可以实现这样的效果,其原理就是不断的在小范围内随机改变窗口的location就可以实现了。代码如下:   final int amplitude = 6; // 抖动的幅度 final long _times = 3 * 1000; // 抖动的时间 final Point location = shell.getLocation(); // 记录最开始时shell的位置 final long startTime = System.currentTimeMillis(); ...
    这个特效不知道取什么名字好,就叫缓慢展开或消失吧,整个效果就像是一张纸一样慢慢拉出来或缩进去。这个效果的实现也比较简单,主要是通过设置shell的size来实现的,通常我们会有四种效果,即从左到右慢慢展现和消失、从右到左慢慢展现和消失、从上到下慢慢展现和消失、从下到上慢慢展现和消失。下面分别说明如下:   1.从左到右慢慢展现       这个效果实现的思路就是shell的location不变,刚开始设置shell的size的宽度为0,高度不变,然后逐步的将shell的width增加,从而就实现了shell的缓慢打开。代码如下:   final int width = shell.get ...
    最近一段时间一直在做RCP开发,考虑到发布时带的jar包过大影响传输的问题,就想到通过java的pack200工具来给jar瘦瘦身,呵呵。pack200还是能够非常有效的减小jar包的体积的,使用非常简单,如下:   pack200 输出文件(如com.best.test.pack.gz) 源文件(如com.best.jar)       简单的一句话就可以压缩jar包了,然后自己写了一个批处理来处理目录下的所有jar文件,毕竟一个个的敲命令,文件多的时候可真是一个力气活,呵呵。     1.使用pack200压缩当前目录下的所有jar包的批处理(pack.bat)   ::====== ...
    AJAX这个词语今年可是火爆了,这个词语中的X就是表示XML,也就是我们通常使用的服务器端和客户端进行交互的数据传输介质。当然XML有着开放、平台无关性等当前我们很注重的几个方面的优势,而且无论在哪个方面都可以 ...
    使用eclipse开发的RCP应用程序默认是不能够自动加载plugins目录下的新插件的,按照以往的开发方式,加一个新的插件到RCP系统中,需要在主插件里配上依赖关系。这样一来,就非常不方便,对开发人员来说不透明,而且发布 ...
    我们在逛大型网站的时候,如163、淘宝这样的网站,总是对它的“静态”技术感兴趣(当然是技术人员了),比如一个163上的新闻链接:http://news.163.com/08/0527/05/4CU68GU300012MS7.html,我们如何来确定这个是真实的静态文件,还是url rewrite后的伪静态呢?今天突然想到是否可用js来判断,通过读取文档的最后修改时间来判断是否是真实的静态网页。     我们使用FF访问该页面,等页面加载完成后,在FF的控制台上输入js命令:alert(document.lastModified);然后我们就可以看到该文档的最后修改时间了,然后刷新该页面, ...
    今天在使用ibatis的例子程序的时候,发现了一个bug(版本是ibatis-2.3.0.677),平常不用倒看不出来,呵呵。当然了,这不是ibatis框架的bug,估计是开发人员忙着打包忘记了:-)     看下图,大家应该看出来了吧~~~~,顺便也贴个源码,呵呵 <!-- Insert example, using the Account parameter class --> <insert id="insertAccount" parameterClass="Account"> insert into ...
    前端时间以为系统的需要,就弄了个lighttpd,主要是使用flowplayer和lighttpd搭建一个在线的flv流媒体播放功能。而且lighttpd也是有mod_flv_streaming模块来支持flv视频的流播放功能,不过我也是只是简单的使用了其中的功能,并不是很深入,但是入门还是可以的。     首先就是lighttpd的安装了,lighttp的安装需要pcre-7.6.tar.gz,主要是正则式的解析,安装包如下: 1.pcre-7.6.tar.gz    (http://www.pcre.org/)2.lighttpd-1.4.19.tar.gz   (http://ww ...
Global site tag (gtag.js) - Google Analytics