<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://oxyc.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2foxyc.spaces.live.com%2fcategory%2f%e8%ae%a1%e7%ae%97%e6%9c%ba%e4%b8%8e%2bInternet%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>蚯蚓: 计算机与 Internet</title><description /><link>http://oxyc.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=cat%25E8%25AE%25A1%25E7%25AE%2597%25E6%259C%25BA%25E4%25B8%258E%2bInternet</link><language>en-US</language><pubDate>Fri, 15 Aug 2008 14:58:55 GMT</pubDate><lastBuildDate>Fri, 15 Aug 2008 14:58:55 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://oxyc.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-1409798983858752950</live:id><live:alias>oxyc</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>DAO exception/business exception 粒度</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!302.entry</link><description>&lt;div&gt;Interface UserInfo{&lt;/div&gt;
&lt;div&gt;public void login(String userName,String password) throw Exception/RuntimeException/or CustomException/or CustomRuntimeException&lt;/div&gt;
&lt;div&gt;}&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;UserNotFonundException extends Exception ?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;PassWordWorngException ?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Whe in Action/listener&lt;/div&gt;
&lt;div&gt;use try{&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;}catch(){&lt;/div&gt;
&lt;div&gt;          throw new ApplicationRuntimeException(e.getMessage());&lt;/div&gt;
&lt;div&gt;}&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;困惑中~&lt;/div&gt;
&lt;div&gt;Exception handling in DAOs&lt;a&gt;&lt;span&gt;&lt;font face=Arial size=4&gt;&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;a href="http://www-128.ibm.com/developerworks/java/library/j-dao/"&gt;http://www-128.ibm.com/developerworks/java/library/j-dao/&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+DAO+exception%2fbusiness+exception+%e7%b2%92%e5%ba%a6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!302.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!302.entry</guid><pubDate>Sat, 28 Apr 2007 13:13:22 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!302/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!302.entry#comment</wfw:comment><dcterms:modified>2007-04-28T13:14:50Z</dcterms:modified></item><item><title>DAO / Service层的划分</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!301.entry</link><description>&lt;div&gt;由于Hibernate等ORM映射tools的出现,DAO并不在直接跟数据库RDB打交道，而是多了 应用服务器持久层，从广义上讲RDB也算是持久，&lt;/div&gt;
&lt;div&gt;应用服务器对象持久层 是为了能管理ORM映射的对象的状态和周期而存在的&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;DAO ---&amp;gt; Persisent  ----&amp;gt;RDB&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+DAO+%2f+Service%e5%b1%82%e7%9a%84%e5%88%92%e5%88%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!301.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!301.entry</guid><pubDate>Sat, 28 Apr 2007 13:07:34 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!301/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!301.entry#comment</wfw:comment><dcterms:modified>2007-04-28T13:07:34Z</dcterms:modified></item><item><title>When customEditorConfigurer  depend on propertyConfigurer</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!300.entry</link><description>&lt;div&gt; &amp;lt;bean id=&amp;quot;propertyConfigurer&amp;quot;&lt;br&gt;  class=&amp;quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&amp;quot;&amp;gt;&lt;br&gt;    &amp;lt;property name=&amp;quot;locations&amp;quot;&amp;gt;&lt;br&gt;   &amp;lt;list&amp;gt;&lt;br&gt;    &amp;lt;value&amp;gt;classpath*:jdbc-dev.properties&amp;lt;/value&amp;gt;&lt;br&gt;   &amp;lt;/list&amp;gt;&lt;br&gt;  &amp;lt;/property&amp;gt;&lt;br&gt; &amp;lt;/bean&amp;gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;在BeanFactory载入所有Bean后，实例化Bean前，对BeanFactor做一些后处理工作，PropertyPlaceholderConfiger和CustomEditorConfigurer是SpringFrameWork自定义的BeanFactoryPostProcessor.&lt;br&gt;
&lt;div&gt;某一个CustomEditorConfigurer依赖Datasource,Datasource依赖propertyConfigurer&lt;/div&gt;
&lt;div&gt;这时候propertyConfigurer没有生效&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;抛出错误&lt;/div&gt;
&lt;div&gt;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customEditorConfigurer' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot create inner bean 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' of type [acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor] while setting bean property 'customEditors' with key [TypedStringValue: value [org.acegisecurity.intercept.method.MethodDefinitionSource], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: &lt;br&gt;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: &lt;br&gt;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: &lt;br&gt;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: &lt;br&gt;org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:&lt;br&gt;PropertyAccessException 1:&lt;br&gt;org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: &lt;br&gt;java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt; at com.mchange.v2.c3p0.DriverManagerDataSource$1.vetoableChange(DriverManagerDataSource.java:68)&lt;br&gt; at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:300)&lt;br&gt; at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:217)&lt;br&gt; at com.mchange.v2.c3p0.impl.DriverManagerDataSourceBase.setDriverClass(DriverManagerDataSourceBase.java:65)&lt;br&gt; at com.mchange.v2.c3p0.ComboPooledDataSource.setDriverClass(ComboPooledDataSource.java:119)&lt;br&gt; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br&gt; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br&gt; at java.lang.reflect.Method.invoke(Method.java:324)&lt;br&gt; at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821)&lt;br&gt; at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)&lt;br&gt; at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)&lt;br&gt; at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)&lt;br&gt; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)&lt;br&gt; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:215)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:314)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:139)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)&lt;br&gt; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)&lt;br&gt; at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:426)&lt;br&gt; at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:342)&lt;br&gt; at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241)&lt;br&gt; at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)&lt;br&gt; at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)&lt;br&gt; at weblogic.servlet.internal.WebAppServletContext$FireContextListenerAction.run(WebAppServletContext.java:6515)&lt;br&gt; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)&lt;br&gt; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)&lt;br&gt; at weblogic.servlet.internal.WebAppServletContext.notifyCreated(WebAppServletContext.java:1666)&lt;br&gt; at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3203)&lt;br&gt; at weblogic.servlet.internal.HttpServer.preloadResources(HttpServer.java:694)&lt;br&gt; at weblogic.servlet.internal.WebService.preloadResources(WebService.java:483)&lt;br&gt; at weblogic.servlet.internal.ServletInitService.resume(ServletInitService.java:30)&lt;br&gt; at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)&lt;br&gt; at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)&lt;br&gt; at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)&lt;br&gt; at weblogic.Server.main(Server.java:32)&lt;br&gt;&amp;lt;2007-4-23 下午09时38分10秒 CST&amp;gt; &amp;lt;Warning&amp;gt; &amp;lt;HTTP&amp;gt; &amp;lt;BEA-101162&amp;gt; &amp;lt;User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customEditorConfigurer' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot create inner bean 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' of type [acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor] while setting bean property 'customEditors' with key [TypedStringValue: value [org.acegisecurity.intercept.method.MethodDefinitionSource], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'..&amp;gt; &lt;br&gt;2007-04-23 21:38:10,609 DEBUG -  - HttpSessionEventPublisher - Received ServletContextEvent: javax.servlet.ServletContextEvent[source=ServletContext(id=31277299,name=web,context-path=/study)]&lt;br&gt;&amp;lt;2007-4-23 下午09时38分10秒 CST&amp;gt; &amp;lt;Warning&amp;gt; &amp;lt;HTTP&amp;gt; &amp;lt;BEA-101162&amp;gt; &amp;lt;User defined listener org.acegisecurity.ui.session.HttpSessionEventPublisher failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customEditorConfigurer' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot create inner bean 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' of type [acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor] while setting bean property 'customEditors' with key [TypedStringValue: value [org.acegisecurity.intercept.method.MethodDefinitionSource], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'..&amp;gt; &lt;br&gt;&amp;lt;2007-4-23 下午09时38分10秒 CST&amp;gt; &amp;lt;Error&amp;gt; &amp;lt;HTTP&amp;gt; &amp;lt;BEA-101165&amp;gt; &amp;lt;Could not load user defined filter in web.xml: org.acegisecurity.util.FilterToBeanProxy.&lt;br&gt;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customEditorConfigurer' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot create inner bean 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' of type [acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor] while setting bean property 'customEditors' with key [TypedStringValue: value [org.acegisecurity.intercept.method.MethodDefinitionSource], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'acegi.security.service.impl.DataSourceMethodDefinitionSourceEditor#f38b42' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-acegi-security.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\eclipse-SDK-3.2.1-win32\workspace\study\web\WEB-INF\classes\applicationContext-datasource.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:&lt;br&gt;PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:&lt;br&gt;PropertyAccessException 1:&lt;br&gt;org.springframework.beans.MethodInvocationException: Property 'driverClass' threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt;Caused by: java.beans.PropertyVetoException: Could not locate driver class with name '${jdbc.driverClassName}'.&lt;br&gt; at com.mchange.v2.c3p0.DriverManagerDataSource$1.vetoableChange(DriverManagerDataSource.java:68)&lt;br&gt; at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:300)&lt;br&gt; at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:217)&lt;br&gt; at com.mchange.v2.c3p0.impl.DriverManagerDataSourceBase.setDriverClass(DriverManagerDataSourceBase.java:65)&lt;br&gt; at com.mchange.v2.c3p0.ComboPooledDataSource.setDriverClass(ComboPooledDataSource.java:119)&lt;br&gt; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br&gt; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br&gt; at java.lang.reflect.Method.invoke(Method.java:324)&lt;br&gt; at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821)&lt;br&gt; at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)&lt;br&gt; at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)&lt;br&gt; at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)&lt;br&gt; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)&lt;br&gt; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:215)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:314)&lt;br&gt; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:139)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)&lt;br&gt; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)&lt;br&gt; at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)&lt;br&gt; at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)&lt;br&gt; at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:426)&lt;br&gt; at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:342)&lt;br&gt; at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241)&lt;br&gt; at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)&lt;br&gt; at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)&lt;br&gt; at weblogic.servlet.internal.WebAppServletContext$FireContextListenerAction.run(WebAppServletContext.java:6515)&lt;br&gt; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)&lt;br&gt; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)&lt;br&gt; at weblogic.servlet.internal.WebAppServletContext.notifyCreated(WebAppServletContext.java:1666)&lt;br&gt; at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3203)&lt;br&gt; at weblogic.servlet.internal.HttpServer.preloadResources(HttpServer.java:694)&lt;br&gt; at weblogic.servlet.internal.WebService.preloadResources(WebService.java:483)&lt;br&gt; at weblogic.servlet.internal.ServletInitService.resume(ServletInitService.java:30)&lt;br&gt; at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)&lt;br&gt; at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)&lt;br&gt; at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)&lt;br&gt; at weblogic.Server.main(Server.java:32)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+When+customEditorConfigurer++depend+on+propertyConfigurer&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!300.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!300.entry</guid><pubDate>Mon, 23 Apr 2007 14:20:35 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!300/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!300.entry#comment</wfw:comment><dcterms:modified>2007-04-23T14:20:35Z</dcterms:modified></item><item><title>Tapestry4Localization本地/国际化</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!294.entry</link><description>&lt;div&gt;1、方法1 -- 使用Tapestry内置message&lt;/div&gt;
&lt;div&gt;1)Home.html&lt;br&gt;&amp;lt;span jwcid=&amp;quot;@Insert&amp;quot; value=&amp;quot;message:required&amp;quot;/&amp;gt; //使用message前缀&lt;/div&gt;
&lt;div&gt;或者使用ognl:messages&lt;/div&gt;
&lt;div&gt;&amp;lt;span jwcid=&amp;quot;@Insert&amp;quot; value=&amp;quot;ognl:messages.format('required', '第{0}个元素','第{1}个元素')&amp;quot;/&amp;gt;&lt;/div&gt;
&lt;div&gt;不建议使用&lt;br&gt;&amp;lt;span jwcid=&amp;quot;@Insert&amp;quot; value=&amp;quot;ognl:getMessage('required')&amp;quot;/&amp;gt;&lt;br&gt;因为getMessage方法在T4中被@deprecated&lt;/div&gt;
&lt;div&gt;-----the key 'title'---- will be first find in Home_zh.properties or Home.properties&lt;/div&gt;
&lt;div&gt;if in Home.properties can not be founded&lt;/div&gt;
&lt;div&gt;it will find WEB-INF/myapp.properties, &lt;br&gt;The specification may also have a message catalog; for instance, &lt;br&gt;for WEB-INF/myapp.application, &lt;br&gt;the files would be named WEB-INF/myapp.properties, &lt;br&gt;etc. Again, the name of the file is based on the servlet name (&amp;quot;myapp&amp;quot;). &lt;/div&gt;
&lt;div&gt;2)&lt;br&gt;myapp_zh.properties&lt;br&gt;required=\u8bf7\u8f93\u5165{0}\u7684\u503c{1}&lt;/div&gt;
&lt;div&gt;3)&lt;br&gt;Home_zh.properties&lt;br&gt;required=\u8bf7\u8f93\u5165{0}\u7684\u503c{1}&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;2、方法2 --使用spring的MessageSource&lt;br&gt;1)利用spring加载messges_*local.properties&lt;br&gt; &amp;lt;bean id=&amp;quot;messageSource&amp;quot; class=&amp;quot;org.springframework.context.support.ResourceBundleMessageSource&amp;quot;&amp;gt; &lt;br&gt;  &amp;lt;!--&amp;lt;property name=&amp;quot;basename&amp;quot; value=&amp;quot;classpath:messages&amp;quot;/&amp;gt;--&amp;gt;&lt;br&gt;   &amp;lt;property name=&amp;quot;basenames&amp;quot;&amp;gt;&lt;br&gt;      &amp;lt;list&amp;gt;&lt;br&gt;        &amp;lt;value&amp;gt;classpath:messages&amp;lt;/value&amp;gt;&lt;br&gt;      &amp;lt;/list&amp;gt;&lt;br&gt;    &amp;lt;/property&amp;gt;  &lt;br&gt; &amp;lt;/bean&amp;gt;&lt;br&gt;把messageSource注入到Tapestry Components/Pages中&lt;/div&gt;
&lt;div&gt;2)BasePage.java&lt;/div&gt;
&lt;div&gt;import org.springframework.context.MessageSource;&lt;/div&gt;
&lt;div&gt;public abstract BasePage extends org.apache.tapestry.html.BasePage{&lt;/div&gt;
&lt;div&gt; public abstract MessageSource getMessageSource();&lt;br&gt;  //need inject //or direct impl it;&lt;br&gt;  &lt;br&gt;  &lt;br&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br&gt;3)HomePage.java extends BasePage.java&lt;/div&gt;
&lt;div&gt;4)Home.page&lt;br&gt;  &amp;lt;inject property=&amp;quot;messageSource&amp;quot; object=&amp;quot;spring:messageSource&amp;quot; /&amp;gt;&lt;br&gt;5)Home.html&lt;/div&gt;
&lt;div&gt;&amp;lt;span jwcid=&amp;quot;@Insert&amp;quot; value=&amp;quot;ognl:messageSource.getMessage('required',new java.lang.Object [] {'Login','!'}, 'Default', null)&amp;quot;/&amp;gt;&lt;/div&gt;
&lt;div&gt;6)messges_zh.properties&lt;br&gt;required=\u8bf7\u8f93\u5165{0}\u7684\u503c{1}&lt;br&gt;------------------------------------------------------------------&lt;br&gt;7)或者再封装以下&lt;br&gt;public abstract BasePage extends org.apache.tapestry.html.BasePage{&lt;br&gt; public abstract MessageSource getMessageSource();&lt;br&gt; public String getCustomMessage(java.lang.String arg0,java.lang.Object[] arg1,java.lang.String arg2,java.util.Locale arg3){&lt;br&gt;  return this.getMessageSource().getMessage(arg0,arg1,arg2,arg3);&lt;br&gt; }&lt;br&gt;}&lt;br&gt;then in the Home.html&lt;/div&gt;
&lt;div&gt;&amp;lt;span jwcid=&amp;quot;@Insert&amp;quot; value=&amp;quot;ognl:getCustomMessage('required',new java.lang.Object [] {'Login','!'}, 'Default', null)&amp;quot;/&amp;gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+Tapestry4Localization%e6%9c%ac%e5%9c%b0%2f%e5%9b%bd%e9%99%85%e5%8c%96&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!294.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!294.entry</guid><pubDate>Tue, 27 Mar 2007 02:03:16 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!294/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!294.entry#comment</wfw:comment><dcterms:modified>2007-03-27T02:03:16Z</dcterms:modified></item><item><title>ActiveRecord or 贫血的POJO</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!291.entry</link><description>&lt;div&gt;ActiveRecord实现Dao 和business validation 的功能似乎更能快速的开发整个项目，但他的Dao实现必须继承，导致 code 不pure&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;我们可以把外部的Crud操作集中到一个Container or Tier中实现，这个Container或者Tier (Persist Logic)中操作的可能不是pure 的POJO 而是Container Wapper后的ActiveRecord,我们不用去关心,交给EntityManager来管理好了&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;这样我们不用继承ActiveRecord Base!!&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+ActiveRecord+or+%e8%b4%ab%e8%a1%80%e7%9a%84POJO&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!291.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!291.entry</guid><pubDate>Mon, 26 Mar 2007 12:01:26 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!291/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!291.entry#comment</wfw:comment><dcterms:modified>2007-03-27T00:22:10Z</dcterms:modified></item><item><title>Run Jboss seam</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!290.entry</link><description>&lt;p&gt;Run Jboss seam On my computer&lt;br&gt;1、download Java SDK5 (jdk-1_5_0_11-windows-i586-p.exe), intall it and config the JAVA_HOME env&lt;br&gt;2、download JEMS installer 1.2.0.BETA3 and install JBoss AS 4.0.5 with the ejb3 profile selected&lt;br&gt;3、Download Seam and unpack it. &lt;br&gt;Edit build.properties in your Seam directory and configure the path to your JBoss AS installation directory. 
&lt;p&gt;4、Run Jboss AS&lt;br&gt;5、In the jboss-seam/examples/booking directory, type ant deploy and check for any error messages. &lt;br&gt;6、Point your browser to &lt;a href="http://localhost:8080/seam-booking/"&gt;http://localhost:8080/seam-booking/&lt;/a&gt; and register an account. 
&lt;p&gt;&lt;br&gt;&lt;a href="http://labs.jboss.com/portal/jbossseam/gettingstarted/index.html"&gt;http://labs.jboss.com/portal/jbossseam/gettingstarted/index.html&lt;/a&gt; 
&lt;p&gt;就seam的booking demo而言&lt;br&gt;主要分了3部分 
&lt;p&gt;---------------------------------------------------------------------------------&lt;br&gt;view/webui  -- jsp+jsf helper/taglib/components 负责收集表单信息(element language自动get set对象) 构造dto对象(就是ejb3实体对象)&lt;br&gt;Controller  -- face filter and face-config.xml 请求分发 &lt;br&gt;Action use jobss ejb3 Session Bean      -- face-config and annotation调用business service impl&lt;br&gt;---------------------------------------------------------------------------------&lt;br&gt;Model   use jobss ejb3 Entity Bean (ORM映射,DTO,Business Object Validation)&lt;br&gt;---------------------------------------------------------------------------------&lt;br&gt;Service/Dao - javax.persistence.EntityManager (数据库持久化)&lt;br&gt;--------------------------------------------------------------------------------- 
&lt;p&gt;ORM pojo (数据库映射对象) ---  business domain class领域模型(业务对象) &lt;br&gt;---Data Transfer Object(数据传输对象) -- Presentation Value Object(值对象) 
&lt;p&gt;&lt;br&gt;&amp;quot;简单就是美&amp;quot;,&amp;quot;约定胜于配置&amp;quot;敏捷思想 
&lt;p&gt;Active Record &lt;br&gt;An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data 
&lt;p&gt;ActiveRecord - 活动记录 :一个对象，它包装数据库表或视图中的某一行，封装数据库访问，并在这些数据上增加了领域逻辑。 
&lt;p&gt;&lt;br&gt;ActiveRecord可以实现真正的Domain-Driven Design，或者叫Rich Domain Model 
&lt;p&gt;拆分&lt;br&gt;Java --- POJO(贫血的JavaBean)  ---   Dao        ---Business Domain Logic Validation 
&lt;p&gt;POJO or ActiveRecord?&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+Run+Jboss+seam&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!290.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!290.entry</guid><pubDate>Mon, 26 Mar 2007 08:13:07 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!290/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!290.entry#comment</wfw:comment><dcterms:modified>2007-03-27T00:33:39Z</dcterms:modified></item><item><title>About Tapestry5</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!287.entry</link><description>&lt;div&gt;1 用Filter 代替Servlet&lt;/div&gt;
&lt;div&gt;2 组件类不再继承基类了，并且不再用abstract类了,组件类将是纯的,简单的Pojos&lt;/div&gt;
&lt;div&gt;3 不再需要xml书写page规范和组件规范,用java注释取代书写规范&lt;/div&gt;
&lt;div&gt;4 Changes to Tapestry component templates and classes are now picked up immediately, without any kind of restart. This will even work properly in production, not just during development.&lt;/div&gt;
&lt;div&gt;动态编译Container?&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+About+Tapestry5&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!287.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!287.entry</guid><pubDate>Wed, 21 Mar 2007 11:58:13 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!287/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!287.entry#comment</wfw:comment><dcterms:modified>2007-03-21T11:58:13Z</dcterms:modified></item><item><title>c</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!276.entry</link><description>&lt;div&gt;&lt;a href="http://blog.csdn.net/coofucoo/category/139536.aspx"&gt;http://blog.csdn.net/coofucoo/category/139536.aspx&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+c&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!276.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!276.entry</guid><pubDate>Wed, 26 Apr 2006 07:12:13 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!276/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!276.entry#comment</wfw:comment><dcterms:modified>2006-04-26T07:12:13Z</dcterms:modified></item><item><title>free c++(c) develop platform in i386</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!275.entry</link><description>&lt;div&gt; &lt;/div&gt;
&lt;div&gt;IDE eclipse cdt&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;编译器 MinGw (GUN gcc) /Cygwin&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;STL stlport/sgi /boost&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;UI framework wxwindows &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Network tool kit ace &lt;a href="http://www.cs.wustl.edu/~schmidt/ACE.html"&gt;http://www.cs.wustl.edu/~schmidt/ACE.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;what about it?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+free+c%2b%2b(c)+develop+platform+in+i386&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!275.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!275.entry</guid><pubDate>Tue, 25 Apr 2006 00:55:28 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!275/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!275.entry#comment</wfw:comment><dcterms:modified>2006-04-25T04:21:24Z</dcterms:modified></item><item><title>旅行社软件</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!179.entry</link><description>&lt;div&gt;&lt;a href="http://www.ovts.com/Index.htm"&gt;http://www.ovts.com/Index.htm&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;了解一下&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+%e6%97%85%e8%a1%8c%e7%a4%be%e8%bd%af%e4%bb%b6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!179.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!179.entry</guid><pubDate>Wed, 19 Apr 2006 09:22:46 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!179/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!179.entry#comment</wfw:comment><dcterms:modified>2006-04-19T09:22:46Z</dcterms:modified></item><item><title>functions</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!178.entry</link><description>&lt;div&gt;$time = date(&amp;quot;Y-m-d H:i:s&amp;quot;); &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;$timestamp = mktime();&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;$array =  current($result);&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+functions&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!178.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!178.entry</guid><pubDate>Thu, 13 Apr 2006 04:14:42 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!178/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!178.entry#comment</wfw:comment><dcterms:modified>2006-04-13T04:14:42Z</dcterms:modified></item><item><title>一些优秀的开源的项目</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!170.entry</link><description>&lt;div&gt;&lt;a href="http://www.oscommerce.com/"&gt;http://www.oscommerce.com&lt;/a&gt; -estore,网上商店 php mysql&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#433700"&gt;&lt;a href="http://www.xoops.org/"&gt;http://www.xoops.org/&lt;/a&gt;&lt;/font&gt;           cms,内容管理系统 php mysql&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.horde.org/"&gt;http://www.horde.org/&lt;/a&gt;           Framework &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;a href="http://www.horde.org/imp/"&gt;http://www.horde.org/imp/&lt;/a&gt;     provides webmail access to IMAP and POP3 accounts.  &lt;/div&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;俺看上眼的php-weblog&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.wordpress.org"&gt;http://www.wordpress.org&lt;/a&gt; wordpress&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.drupal.org"&gt;http://www.drupal.org&lt;/a&gt; drupal&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.lifetype.org/"&gt;http://www.lifetype.org/&lt;/a&gt;  lifetype 多用户&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;国内的cms&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.dedecms.com"&gt;http://www.dedecms.com&lt;/a&gt;  非常好~&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;想起来再加&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+%e4%b8%80%e4%ba%9b%e4%bc%98%e7%a7%80%e7%9a%84%e5%bc%80%e6%ba%90%e7%9a%84%e9%a1%b9%e7%9b%ae&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!170.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!170.entry</guid><pubDate>Wed, 05 Apr 2006 04:42:41 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!170/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!170.entry#comment</wfw:comment><dcterms:modified>2006-04-05T04:48:36Z</dcterms:modified></item><item><title>01 April 2006 - Tapestry 4.0.1 released</title><link>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!169.entry</link><description>&lt;div&gt;
&lt;p&gt;Close to 100+ bug fixes and patches have been applied for the next release of the the &lt;a href="http://jakarta.apache.org/tapestry/"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;Tapestry web application framework&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. 
&lt;p&gt;Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server. 
&lt;p&gt; 
&lt;p&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1409798983858752950&amp;page=RSS%3a+01+April+2006+-+Tapestry+4.0.1+released&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=oxyc.spaces.live.com&amp;amp;GT1=oxyc"&gt;</description><comments>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!169.entry#comment</comments><guid isPermaLink="true">http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!169.entry</guid><pubDate>Wed, 05 Apr 2006 04:29:01 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://oxyc.spaces.live.com/blog/cns!EC6F634B2A64724A!169/comments/feed.rss</wfw:commentRss><wfw:comment>http://oxyc.spaces.live.com/Blog/cns!EC6F634B2A64724A!169.entry#comment</wfw:comment><dcterms:modified>2006-04-05T04:29:01Z</dcterms:modified></item></channel></rss>