使用普通java开发编译注解版的aspectj程序

使用java5语法(annotation)版的aspectj进行ltw化的aspect开发。在进行运行配置时,必须保证相应的aspect也同样在weaver中,以进行再次编织。

     平时使用aspect开发程序时,一般都是使用普通的aspect语法,然后通过使用ajc进行编译之后,再在命令行下面运行。这样,对于使用ide工具进行java程序开发的人员来说非常麻烦。自aspectj支持java5语法之后,就不再直接使用普通的aspect语法了,而是直接使用Aspectj Annotation语法,然后通过ltw来直接运行aspectj程序。
    本文主要讲解如何使用aspectj的ltw功能进行程序开发,以及对于其中一个在javac环境下的特殊配置文件处理。

继续阅读“使用普通java开发编译注解版的aspectj程序”

使用embeded tomcat进行嵌入式javaee开发-程序更新

     一般情况下,在进行客户程序的更新时,通常是由维护人员手动将更新程序(或整个项目程序),重新copy至客户的服务器上,并重新启动相应的web容器来达到程序更新的目的。不过,这样有一个缺点,就是每次更新时,必须需要维护人员在现场进行。对于,客户离公司远,并且更新又频繁(比如,小修小改)时,这种情况就得不偿失了。所以,能够有一个自动更新的程序,在指定的时间将程序进行更新,并且重新启动相应的web服务器,这样就最好了。
    本文通过使用svnkit来进行程序的更新,描述了基本的svn使用,以及一个简单的更新流程。

继续阅读“使用embeded tomcat进行嵌入式javaee开发-程序更新”

在java web项目中慎用Executors以及非守护线程

     最近研究embeded tomcat,特别是关于tomcat启动和关闭的模块。通过查看相应的源代码, 我们知道tomcat的关闭是通过往相应的关闭端口发送指定的关闭指令来达到关闭tomcat的目的。但是有的时候,通过shutdown.bat或shutdown.sh却不能有效地关闭tomcat,网上也有很多人提出这个问题。通过相关资料,最后问题出现线程上。

继续阅读“在java web项目中慎用Executors以及非守护线程”

使用embeded tomcat进行嵌入式javaee开发-启动tomcat

     昨天在网上研究了下关于将tomcat嵌入到主程序中进行运行,而不是像以前将一个web项目copy到tomcat中进行运行。之所以这样做的原因,即是因为项目部署到客户方,在进行更新的时候,需要手动地进行更新,再把相应代码copy到tomcat,然后再运行。运用embeded tomcat就可以将项目与tomcat分开,在进行更新时,先使用自定义的程序进行自动化更新,待更新完毕之后,再启动tomcat(或其它javaee容器)进行项目运行。

继续阅读“使用embeded tomcat进行嵌入式javaee开发-启动tomcat”

使用jacob或com4j将Excel转换为html

     前段时间碰到一个新需求,客户系统中有一个用于管理Excel的模块,excel文档由下边的人上传至系统,由管理员负责进行查看和审查。现在客户提出,因为excel默认需要下载才能打开,又加上客户要查看很多excel,每次都要下载下来。Office的Excel又启动得很快,客户就提出,是否可以直接在网页中查看,而不是以Excel的形式打开。比如,点击一个文档时,直接弹出一个界面,这个界面就是显示的excel的内容,而并不是由excel进行打开了。这样,客户每次看了之后,就可以直接关闭,再看下一篇文档,以节约时间和提高速度。下来研究了一下,可以使用jacob和com4j来将excel在服务器端转化为一个html,再将这个html发送到客户端进行查看。

继续阅读“使用jacob或com4j将Excel转换为html”

spring和aspectj的结合inject原理(下篇)

     上篇讲解了在spring中aspectj,对普通@Transactional的事务控制支持,这篇主要了解一下spring的@Configurable对新建对象的spring属性支持,并顺带发布一个简单的rich domain的例子:)
    上篇地址:http://www.iflym.com/index.php/code/the-theory-about-spring-and-aspectj-pre.html

继续阅读“spring和aspectj的结合inject原理(下篇)”