﻿<?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-J2EE之巅-文章分类-JBOSS</title><link>http://www.blogjava.net/chaocai/category/8364.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:05:05 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:05:05 GMT</pubDate><ttl>60</ttl><item><title>整合Hibernate3与JBOSS 3.2.X</title><link>http://www.blogjava.net/chaocai/articles/34914.html</link><dc:creator>超越巅峰</dc:creator><author>超越巅峰</author><pubDate>Sun, 12 Mar 2006 07:54:00 GMT</pubDate><guid>http://www.blogjava.net/chaocai/articles/34914.html</guid><wfw:comment>http://www.blogjava.net/chaocai/comments/34914.html</wfw:comment><comments>http://www.blogjava.net/chaocai/articles/34914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chaocai/comments/commentRss/34914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chaocai/services/trackbacks/34914.html</trackback:ping><description><![CDATA[<H1><SPAN>前言――强强联合</SPAN><SPAN lang=EN-US> 
<P></P></SPAN></H1>
<P><SPAN>在</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">J2EE</FONT></SPAN><SPAN>应用服务器领域，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>是发展最为迅速的应用服务器。由于</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>遵循商业友好的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">LGPL</FONT></SPAN><SPAN>授权分发，并且由开源社区开发，这使得</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>广为流行。另外，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>应用服务器还具有许多优秀的特质。其一，它将具有革命性的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JMX</FONT></SPAN><SPAN>微内核服务作为其总线结构；其二，它本身就是面向服务的架构（</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Service-Oriented Architecture</FONT></SPAN><SPAN>，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">SOA</FONT></SPAN><SPAN>）；其三，它还具有统一的类装载器，从而能够实现应用的热部署和热卸载能力。因此，它是高度模块化的和松耦合的。</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>用户的积极反馈告诉我们，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>应用服务器是健壮的、高质量的，而且还具有良好的性能，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">2002</FONT></SPAN><SPAN>年</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>获得了最佳应用服务器称号。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">Entity Bean</FONT></SPAN><SPAN>的效率问题一直是</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">J2EE</FONT></SPAN><SPAN>开发中争议热点，近年来，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate</FONT></SPAN><SPAN>已经成为了事实上的持久化引擎。最新版的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBoss</FONT></SPAN><SPAN>应用服务器已经将</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate</FONT></SPAN><SPAN>集成为</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JMX MBean</FONT></SPAN><SPAN>服务。这使得用户能够在应用服务器环境中直接使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate</FONT></SPAN><SPAN>，而不管它是否处于</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">J2EE</FONT></SPAN><SPAN>上下文中。</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS 4.0</FONT></SPAN><SPAN>中已经融入了</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate</FONT></SPAN><SPAN>作为对象持久化的基础。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN>对于大量采用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS 3.2.x</FONT></SPAN><SPAN>的用户，如何将</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate3</FONT></SPAN><SPAN>加入到</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>中，以便使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>的连接池，支持</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">BMT</FONT></SPAN><SPAN>和</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">CMT</FONT></SPAN><SPAN>事务。下文将详细将</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate3</FONT></SPAN><SPAN>加入到</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS 3.2.x</FONT></SPAN><SPAN>的实现步骤。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<H1><SPAN>操作步骤</SPAN><SPAN lang=EN-US> 
<P></P></SPAN></H1>
<P><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>是以</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JMX</FONT></SPAN><SPAN>为微内核的，各种功能和服务都有</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">MBean</FONT></SPAN><SPAN>提供，同时</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate</FONT></SPAN><SPAN>提供了对</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">MBean</FONT></SPAN><SPAN>接口的实现</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">org.hibernate.jmx.HibernateService</FONT></SPAN><SPAN>。所以我们可以很方便的将持久化类打包成</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Mbean</FONT></SPAN><SPAN>，部署到</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>中，以下是具体步骤：</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">1．<SPAN>&nbsp; </SPAN></FONT></SPAN><SPAN>将</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate3.jar</FONT></SPAN><SPAN>及</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate</FONT></SPAN><SPAN>用到的其他库文件一同拷贝至相应的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>路径下（如：</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">jboss-3.2.1\server\default\lib</FONT></SPAN><SPAN>）。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">2．<SPAN>&nbsp; </SPAN></FONT></SPAN><SPAN>为了将我们编写的持久化管理类，加入到</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>中，我们必须将他封装成</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Mbean</FONT></SPAN><SPAN>形式，以便被</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JMX</FONT></SPAN><SPAN>加载。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN>如同实现一般的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Mbean</FONT></SPAN><SPAN>一样需要编写</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">jboss-service.xml</FONT></SPAN><SPAN>文件，文件内容如下：</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">&lt;server&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">&lt;mbean code="org.hibernate.jmx.HibernateService" name="jboss.jca:service=HibernateFactory,name=HibernateFactory"&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;depends&gt;jboss.jca:service=RARDeployer&lt;/depends&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;depends&gt;jboss.jca:service=LocalTxCM,name=<I>YourDataSource</I>&lt;/depends&gt;<SPAN>&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="MapResources"&gt;mappings/<I>Yourmapping</I>.hbm.xml&lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="JndiName"&gt;java:/<I>YourJNIDName</I>&lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="Datasource"&gt;<I>YourDataSourceJNIDName</I> &lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="Dialect"&gt;<I>org.hibernate.dialect.SQLServerDialect</I>&lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="TransactionStrategy"&gt;org.hibernate.transaction.JTATransactionFactory&lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="TransactionManagerLookupStrategy"&gt;org.hibernate.transaction.JBossTransactionManagerLookup&lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>&lt;attribute name="UserTransactionName"&gt;UserTransaction&lt;/attribute&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">&lt;/mbean&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">&lt;/server&gt; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN>注释：</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">&lt;depends&gt;</FONT></SPAN><SPAN>元素表示该</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Mbean</FONT></SPAN><SPAN>依赖的服务，其中需要将</SPAN><I><SPAN lang=EN-US><FONT face="Times New Roman">YourDataSource</FONT></SPAN></I><SPAN>替换实际应用中使用的数据源的名称。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">&lt;attribute&gt;</FONT></SPAN><SPAN>元素对</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Mbean</FONT></SPAN><SPAN>中的属性进行了配置，其中</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">MapResource</FONT></SPAN><SPAN>指定了持久化类的映射文件，将其替换为实际的映射文件名。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">JndiName</FONT></SPAN><SPAN>指定的是所用到的数据源的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JNDI</FONT></SPAN><SPAN>名，将其替换为实际的数据源</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JNDI</FONT></SPAN><SPAN>名称。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">Dialect</FONT></SPAN><SPAN>同样根据使用的数库类型不同，进行相应的替换。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">TransactionStrategy</FONT></SPAN><SPAN>，在你的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Session Bean</FONT></SPAN><SPAN>使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">BMT</FONT></SPAN><SPAN>的时候应该配置为</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">org.hibernate.transaction.JTATransactionFactory</FONT></SPAN><SPAN>，而当你的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Session Bean</FONT></SPAN><SPAN>使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">CMT</FONT></SPAN><SPAN>的时候应该配置为</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">org.hibernate.transaction.CMTTransactionFactory</FONT></SPAN><SPAN>。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">Mbean</FONT></SPAN><SPAN>是一种</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">jar</FONT></SPAN><SPAN>文件（但其后缀不是</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">jar,</FONT></SPAN><SPAN>而是</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">sar</FONT></SPAN><SPAN>），以下是要创建的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">sar</FONT></SPAN><SPAN>包的内部结构。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<H1><EM><FONT size=3><SPAN lang=EN-US><FONT face="Times New Roman">YourClasses(</FONT></SPAN><SPAN>持久化类及辅助类</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">)</FONT></SPAN></FONT></EM></H1>
<P><SPAN lang=EN-US><FONT face="Times New Roman">mappings/<I> Yourmapping</I>.hbm.xml 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">META-INF/joss-service.xml 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"> 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">3<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></FONT></SPAN><SPAN>在</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Session Bean</FONT></SPAN><SPAN>中调用持久化对象</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">… 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">private javax.ejb.SessionContext _ctx; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">public void setSessionContext(javax.ejb.SessionContext ctx) 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">{ 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">_ctx=ctx; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">} 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">… 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">{ 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">try { 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">InitialContext ctx = null; 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>ctx = new InitialContext();<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">SessionFactory jtaf = (SessionFactory)ctx.lookup(jndiName); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">Session session=jtaf.openSession(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">//Transaction tx = sessio 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">UserTransaction tx=_ctx.getUserTransaction(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">tx.begin(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Book book = new Book(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">book.setId(111); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">book.setBook_name("JBOSS&amp;Hibernate"); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">book.setPrice(111f); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">session.save(book); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">tx.rollback(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">session.close(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">} catch (NamingException e) { 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">e.printStackTrace();<SPAN>&nbsp;&nbsp; </SPAN>
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">} catch (Exception e1) { 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">e1.printStackTrace(); 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">} 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">} 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman">… 
<P></P></FONT></SPAN>
<P></P>
<P><SPAN>上面的代码段展示了，在</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">session bean</FONT></SPAN><SPAN>中操作</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">hibernate</FONT></SPAN><SPAN>持久化对象的过程，并且展示了如何使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS</FONT></SPAN><SPAN>提供的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JTA</FONT></SPAN><SPAN>事务。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN>好了现在</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Hibernate3</FONT></SPAN><SPAN>已经和</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JBOSS 3.2.X</FONT></SPAN><SPAN>完美的整合在一起了。</SPAN><SPAN lang=EN-US> 
<P></P></SPAN>
<P></P>
<P><SPAN lang=EN-US><FONT face="Times New Roman"> 
<P></P></FONT></SPAN><img src ="http://www.blogjava.net/chaocai/aggbug/34914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chaocai/" target="_blank">超越巅峰</a> 2006-03-12 15:54 <a href="http://www.blogjava.net/chaocai/articles/34914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>