﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-走自己的路-随笔分类-Other Java and J2EE frameworks </title><link>http://www.blogjava.net/ldd600/category/32139.html</link><description>路漫漫其修远兮，吾将上下而求索</description><language>zh-cn</language><lastBuildDate>Tue, 02 Nov 2010 05:40:23 GMT</lastBuildDate><pubDate>Tue, 02 Nov 2010 05:40:23 GMT</pubDate><ttl>60</ttl><item><title>蛋疼的PooledConnectionFactory(activemq-pool)</title><link>http://www.blogjava.net/ldd600/archive/2010/11/02/336755.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Tue, 02 Nov 2010 00:55:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2010/11/02/336755.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/336755.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2010/11/02/336755.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/336755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/336755.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Activemq-pool的PooledConnectionFactory解密，使用时需要注意。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2010/11/02/336755.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/336755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2010-11-02 08:55 <a href="http://www.blogjava.net/ldd600/archive/2010/11/02/336755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不用keytool，tomcat打开https</title><link>http://www.blogjava.net/ldd600/archive/2010/08/14/328817.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Fri, 13 Aug 2010 17:06:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2010/08/14/328817.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/328817.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2010/08/14/328817.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/328817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/328817.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 网上大多数文章都是用keytool生成自签名根证书，将根证书配置在tomcat的server.xml中。我不太喜欢用keytool，原因：<br>1.我们可能换provider，不同的provider会有不同的算法实现，算法的安全性和性能也可能不同，通过代码生成比较方便一些，不同算法的实现要放在classpath上。<br>2.通过代码生成还有一个好处，会对整个流程理解的比较清楚，实现的原理到底是怎样的。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2010/08/14/328817.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/328817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2010-08-14 01:06 <a href="http://www.blogjava.net/ldd600/archive/2010/08/14/328817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在JavaMail的基础上构建自己的Email Channel(2):封装Javamail的原因</title><link>http://www.blogjava.net/ldd600/archive/2010/02/04/311869.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Wed, 03 Feb 2010 23:25:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2010/02/04/311869.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/311869.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2010/02/04/311869.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/311869.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/311869.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: javamail已经设计的很好了，精巧强悍，为什么还需要封装它呢？&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2010/02/04/311869.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/311869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2010-02-04 07:25 <a href="http://www.blogjava.net/ldd600/archive/2010/02/04/311869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>侦听和处理用户对业务对象改动的简易框架</title><link>http://www.blogjava.net/ldd600/archive/2009/11/29/304100.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Sun, 29 Nov 2009 05:37:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2009/11/29/304100.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/304100.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2009/11/29/304100.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/304100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/304100.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;在用户修改了领域对象的值后，我们有时需要记录下用户的改动。比如对一些关键业务对象的改动有时往往需要发邮件通知客户。有时用户可能想查阅所有历史的改动，甚至有可能会改回原先的值。领域逻辑关系往往比较复杂，这时我们会使用到ORM Framework。本文以toplink为例，讲述如何利用toplink编写一个完成此功能的简易Framework，我们暂且把它称为ActionMemed。...&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2009/11/29/304100.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/304100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2009-11-29 13:37 <a href="http://www.blogjava.net/ldd600/archive/2009/11/29/304100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通用RPC简易框架</title><link>http://www.blogjava.net/ldd600/archive/2009/04/04/263927.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Sat, 04 Apr 2009 12:57:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2009/04/04/263927.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/263927.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2009/04/04/263927.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/263927.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/263927.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我们经常需要进行远程业务方法的调用，并对返回的结果进行处理。我们规范化了调用流程，可扩展支持多种协议：HTTP, JMS, RMI, FTP等，实现了序列化和反序列化，负载均衡，异步调用等模块。默认给出HTTP实现。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2009/04/04/263927.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/263927.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2009-04-04 20:57 <a href="http://www.blogjava.net/ldd600/archive/2009/04/04/263927.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAXB vs XStream</title><link>http://www.blogjava.net/ldd600/archive/2009/03/04/257832.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Wed, 04 Mar 2009 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2009/03/04/257832.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/257832.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2009/03/04/257832.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/257832.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/257832.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: XStream和JAXB这两东东本质上是有差别的，JAXB称为OX binding工具，XStream应该算序列化工具，但OX binding工具也会marshall和unmarshall，则包含了序列化部分。序列化工具不一定需要提供binding的功能。既然都玩序列化，那就简单地比较一下它们两在序列化方面的强弱吧。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2009/03/04/257832.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/257832.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2009-03-04 17:15 <a href="http://www.blogjava.net/ldd600/archive/2009/03/04/257832.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle application server使用Quartz JobStoreCMT遇到程序被锁问题</title><link>http://www.blogjava.net/ldd600/archive/2009/02/06/253604.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Fri, 06 Feb 2009 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2009/02/06/253604.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/253604.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2009/02/06/253604.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/253604.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/253604.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 由于业务需要将quartz的jobstore从JobStoreTX更新为JobStoreCMT，接着启动servlet时发现被锁住了。由于使用JobStoreCMT我们使用了managed datasource，按照quartz文档的要求也配置了non managed datasource，但是发现程序启动的时候就被锁住了，锁在Quartz_Locks的表锁上了。最后通过查阅源代码，跟踪代码解决了这个问题。问题解决过程记录了下来。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2009/02/06/253604.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/253604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2009-02-06 17:13 <a href="http://www.blogjava.net/ldd600/archive/2009/02/06/253604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oc4j+toplink+spring使用jta外部事务的一点心得</title><link>http://www.blogjava.net/ldd600/archive/2008/11/14/240607.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Fri, 14 Nov 2008 13:48:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/11/14/240607.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/240607.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/11/14/240607.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/240607.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/240607.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 晚上要下班的时候，application team那里使用Tibco EMS做消息集成服务时候出了bug，错误是：java.sql.SQLException: 当全局事务处理处于活动状态时, 无法调用方法 'commit'，应该是在全局事务中使用了本地事务并提交了。帮忙看了一下，它的oc4j, toplink, spring的使用上都存在着一些问题，并把要注意的地方总结了一下。包括oc4j，toplink，spring三块。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/11/14/240607.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/240607.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-11-14 21:48 <a href="http://www.blogjava.net/ldd600/archive/2008/11/14/240607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为虾米JDBC的XAConnection不继承Connection，困惑</title><link>http://www.blogjava.net/ldd600/archive/2008/10/31/237901.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Fri, 31 Oct 2008 13:33:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/10/31/237901.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/237901.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/10/31/237901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/237901.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/237901.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 通过Context lookup出来的是DataSource却能完成XADataSource的功能，虽然用了动态代理，但是为什么不用继承呢？&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/10/31/237901.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/237901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-10-31 21:33 <a href="http://www.blogjava.net/ldd600/archive/2008/10/31/237901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让已有的系统开放RMI服务</title><link>http://www.blogjava.net/ldd600/archive/2008/10/26/236738.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Sun, 26 Oct 2008 10:46:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/10/26/236738.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/236738.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/10/26/236738.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/236738.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/236738.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 原有的应用没有开放RMI服务，由于将schedule模块移到了standalone的JVM上，需要在远程通过RPC Call回来，于是在已有的系统中增加了RMI服务，关键是如何方便而有效地加入这个RMI服务，和原有的系统解耦，还要方便以后的升级。这篇随便记录了在已有系统中加入RMI服务模块的一些心得。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/10/26/236738.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/236738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-10-26 18:46 <a href="http://www.blogjava.net/ldd600/archive/2008/10/26/236738.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自定义connection pool的实现</title><link>http://www.blogjava.net/ldd600/archive/2008/08/10/221148.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Sun, 10 Aug 2008 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/08/10/221148.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/221148.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/08/10/221148.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/221148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/221148.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 主要是要构建一个符合自己需求的的连接池（对象池）。这个连接池中所存放的对象的行为是自定义的并满足项目实际应用需求的。但是这些对象的频繁创建需要很大的代价，比如一些Socket连接。connection－pool所有部分都是基于接口设计，便于实现的动态加入和变更。也用到了很多开源的framework如commons－pool，commons－beanutils，xmlbeans，commons－net。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/08/10/221148.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/221148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-08-10 16:52 <a href="http://www.blogjava.net/ldd600/archive/2008/08/10/221148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java中的Connection Pool</title><link>http://www.blogjava.net/ldd600/archive/2008/07/14/214755.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Mon, 14 Jul 2008 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/07/14/214755.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/214755.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/07/14/214755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/214755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/214755.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 总结了一下java中使用到Connection Pool的一些情况，并想了一下如何实现特定种类的Connection Pool。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/07/14/214755.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/214755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-07-14 16:30 <a href="http://www.blogjava.net/ldd600/archive/2008/07/14/214755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在可序列化的类中使用log对象</title><link>http://www.blogjava.net/ldd600/archive/2008/07/04/212535.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Fri, 04 Jul 2008 03:38:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/07/04/212535.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/212535.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/07/04/212535.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/212535.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/212535.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 因为log对象常常不需要序列化，我们如何在可序列化类中定义log对象？&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/07/04/212535.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/212535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-07-04 11:38 <a href="http://www.blogjava.net/ldd600/archive/2008/07/04/212535.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用ASM直接读取字节码来加载Class的Annotation</title><link>http://www.blogjava.net/ldd600/archive/2008/06/11/207162.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Wed, 11 Jun 2008 09:38:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/06/11/207162.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/207162.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/06/11/207162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/207162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/207162.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Asm是很好的ByteCode generator 和 ByteCode reader。Asm提供了ClassVisitor来访问Class中的每个元素。当用ClassReader来读取Class的字节码时，每read一个元素，ASM会调用指定的ClassVisitor来访问这个元素。这就是访问者模式。利用这个特点，当ClassVisitor访问Class的Annotation元素时，我们会把an...&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/06/11/207162.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/207162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-06-11 17:38 <a href="http://www.blogjava.net/ldd600/archive/2008/06/11/207162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编写自定义的PMD规则</title><link>http://www.blogjava.net/ldd600/archive/2008/05/05/198534.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Mon, 05 May 2008 10:46:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/05/05/198534.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文主要介绍了如何用XPath编写自定义的PMD Rule。静态分析代码是否符合相应的规则，及早检查出代码中的不足之出。&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/05/05/198534.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/198534.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-05-05 18:46 <a href="http://www.blogjava.net/ldd600/archive/2008/05/05/198534.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让artifactory1.2.5支持NTLM2</title><link>http://www.blogjava.net/ldd600/archive/2008/03/20/187461.html</link><dc:creator>叱咤红人</dc:creator><author>叱咤红人</author><pubDate>Thu, 20 Mar 2008 04:53:00 GMT</pubDate><guid>http://www.blogjava.net/ldd600/archive/2008/03/20/187461.html</guid><wfw:comment>http://www.blogjava.net/ldd600/comments/187461.html</wfw:comment><comments>http://www.blogjava.net/ldd600/archive/2008/03/20/187461.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ldd600/comments/commentRss/187461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldd600/services/trackbacks/187461.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:   <br>项目改用maven和artifactory做jar包管理，artifactory相当于公网maven repo的cache或者说镜像的作用，内网的developer都会连接到artifactory去download jar包，如果artifactory没有这些jar包，artifactory会自动去外网下载。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/ldd600/archive/2008/03/20/187461.html'>阅读全文</a><img src ="http://www.blogjava.net/ldd600/aggbug/187461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldd600/" target="_blank">叱咤红人</a> 2008-03-20 12:53 <a href="http://www.blogjava.net/ldd600/archive/2008/03/20/187461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>