mis98zb

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            7 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

          2007年2月13日 #

          在tomcat中輸出log,有兩種方式:

          首先就是在log4j.properties中使用org.apache.log4j.ConsoleAppender方式輸出。這樣,log會輸出到tomcat的標準輸出log里邊去。

          還有就是使用org.apache.log4j.FileAppender一類的方式輸出。這樣就會輸出到自己指定的文件里去。
          這時候有一點需要注意:文件路徑的問題。
          在log4j.properties中把文件名設置為${catalina.base}/logs/YourFileName.log的話,就能輸出到tomcat的log目錄中(如果在eclipse的WDT中使用的話,就在workspace所在路徑下的.metadata\.plugins\org.eclipse.wst.server.core\tmpX。X為數字,對應eclipse中設置的server的編號。)。
          如果只指定一個文件名的話,就會輸出到tomcat被啟動時的目錄中。
          posted @ 2007-02-13 09:48 mis98zb 閱讀(781) | 評論 (0)編輯 收藏

          2006年8月22日 #

          呵呵,用上spring2.0了,但是辛辛苦苦研究出來的1.2.x的配置方法也不忍心就這么扔了,放這里做個記錄吧。
          首先是基于Java5 Annotation的配置:
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
          <beans>
          ????
          <import
          ????????
          resource="classpath:cn/com/nec/esmpro/gserver/util/database/database.beans.xml"?/>

          ????
          <bean
          ????????
          class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
          ????????
          <description>Switch?AOP?function?ON!</description>
          ????
          </bean>

          ????
          <bean
          ????????
          class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
          ????????
          <constructor-arg>
          ????????????
          <bean class="org.springframework.transaction.interceptor.TransactionInterceptor">
          ????????????????
          <property?name="transactionManager">
          ????????????????????
          <bean class="org.springframework.orm.hibernate3.HibernateTransactionManager">
          ????????????????????????
          <property?name="sessionFactory" ref="gserverSessionFactoryBean"?/>
          ????????????????????
          </bean>
          ????????????????
          </property>
          ????????????????
          <property?name="transactionAttributeSource">
          ????????????????????
          <bean?class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
          ????????????????
          </property>
          ????????????
          </bean>
          ????????
          </constructor-arg>
          ????
          </bean>
          </beans>
          然后是只使用XML的配置:
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
          <beans>
          ????
          <import
          ????????
          resource="classpath:cn/com/nec/esmpro/gserver/util/database/database.beans.xml"?/>

          ????
          <bean
          ????????
          class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
          ????????
          <description>Switch?AOP?function?ON!</description>
          ????
          </bean>

          ????
          <bean
          ????????
          class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
          ????????
          <property?name="classFilter">
          ????????????
          <bean?class="???????????????????????????????????????">
          ????????????
          </bean>
          ????????
          </property>
          ????????
          <property?name="transactionInterceptor">
          ????????????
          <bean?class="org.springframework.transaction.interceptor.TransactionInterceptor">
          ????????????????
          <property?name="transactionManager">
          ????????????????????
          <bean?class="org.springframework.orm.hibernate3.HibernateTransactionManager">
          ????????????????????????
          <property?name="sessionFactory"?ref="gserverSessionFactoryBean"?/>
          ????????????????????
          </bean>
          ????????????????
          </property>
          ????????????????
          <property?name="transactionAttributes">
          ????????????????????
          <props>
          ????????????????????????
          <prop?key="*">PROPAGATION_REQUIRED</prop>
          ????????????????????????
          <prop?key="find*">PROPAGATION_REQUIRED,readOnly</prop>
          ????????????????????
          </props>
          ????????????
          </property>
          ????????????
          </bean>
          ????????
          </property>
          ????
          </bean>
          </beans>

          posted @ 2006-08-22 14:47 mis98zb 閱讀(530) | 評論 (0)編輯 收藏

          2006年8月10日 #

          寫了半天,老是出現config為null的問題:

          1?2006-08-10?00:37:54,015?INFO?[org.hibernate.cfg.AnnotationConfiguration]?-?Mapping?package?cn.com.nec.esmpro.gserver.author
          2?2006-08-10?00:37:54,093?WARN?[org.hibernate.cfg.AnnotationBinder]?-?Package?not?found?or?wo?package-info.java:?cn.com.nec.esmpro.gserver.author
          3?2006-08-10?00:37:54,093?INFO?[org.hibernate.cfg.AnnotationConfiguration]?-?Mapping?package?cn.com.nec.esmpro.gserver.source
          4?2006-08-10?00:37:54,093?WARN?[org.hibernate.cfg.AnnotationBinder]?-?Package?not?found?or?wo?package-info.java:?cn.com.nec.esmpro.gserver.source
          5?2006-08-10?00:37:54,750?INFO?[org.hibernate.cfg.AnnotationConfiguration]?-?Mapping?package?cn.com.nec.esmpro.gserver.user_support
          6?2006-08-10?00:37:54,750?WARN?[org.hibernate.cfg.AnnotationBinder]?-?Package?not?found?or?wo?package-info.java:?cn.com.nec.esmpro.gserver.user_support
          7?2006-08-10?00:37:54,750?INFO?[org.hibernate.cfg.Configuration]?-?Configured?SessionFactory:?null
          不知道什么原因。
          :(
          posted @ 2006-08-10 00:41 mis98zb 閱讀(1223) | 評論 (2)編輯 收藏

          2006年7月12日 #

          在使用DB4O的時候發現兩個問題。
          1?????????ObjectSet?result?=?db.get(new?Object());
          2?????????for?(Object?obj?:?result)?{
          3?????????????db.delete(obj);
          4?????????}
          5?????????db.commit();

          第一行如果用
          db.get(Object.class)
          則一個對象都取不出來,
          db.get(new?Object());
          卻可以把對象都取出來。
          然而更奇怪的是第三行能夠刪掉大部分對象,卻刪不掉存在數據庫里的enum類型的對象。
          真是奇怪了……

          posted @ 2006-07-12 17:33 mis98zb 閱讀(238) | 評論 (0)編輯 收藏

          2006年6月1日 #

          用laszlo IDE也有一段時間了,可惜一直不得其法,用的很是不爽。

          正規的用法大概是這樣的:
          創建一個laszlo類型的工程,設置好LPS Web Root,就可以在這個工程里開發lzx類型的代碼了。
          需要調試的時候,選中需要調試的canvas類型的lzx文件,在右鍵菜單中選擇Run As ——〉Laszlo Application。
          它會打開默認瀏覽器,用以調試這個lzx文件。
          posted @ 2006-06-01 13:28 mis98zb 閱讀(553) | 評論 (0)編輯 收藏

          2006年5月4日 #

          以前用WebWork的時候,因為選擇了xml + xslt的方式,所以就要把object映射到xml。
          最初想偷偷懶,不打算使用配置文件。于是就自己寫了一個obj2xml,遇到了兩個問題:

          ☆首先就是環的問題。
          xml是樹形結構,不允許出現環的。而對象關系中,很容易出現環。比如
          Parent.getChildren();
          Child.getParent();
          這樣的代碼。
          我的解決方法是,在映射的時候,用hash map保存一個class到已知obj列表。不在已知列表里的,就先映射,然后加到已知obj列表里。在已知列表里的,就不再映射了。這樣速度挺快,查找也方便。這個問題還算好解決。

          ☆接下來就是垃圾信息的屏蔽。
          我是用get*來映射的(當然,集合類型會有特殊的處理)。
          但是,get*方法中赫然有getClass存在!而Class類又有一堆get方法!這還算好辦,直接屏蔽掉Class類型好了。
          問題在于用戶自己的一些無用信息。比如
          DomainObject.getXXXService();
          XXXServiceImpl.getYYYDAO();
          YYYDAO.getZZZDAOSupport();
          還有就是多余的信息。比如我只想得到用戶的基本信息,可是
          class?Person?{
          ????getName();
          ????getAge();
          ????getBirthday();
          ????getEducationRecord();
          }


          class?EducationRecord{
          ????getMildSchool();
          ????getUnivercity();
          }
          這樣一來,本來不需要的教育的信息就會被映射到。由于Person對象可能會關聯到很多對象,那樣就會有很多無用的信息被包含進來。
          對于這種情況,首先的想法就是LazyLoading。對于一般的使用,這是沒有問題的。但是我的需求是要把XML發送到客戶端。客戶端會使用XML中的哪些數據,我的映射程序沒有辦法捕捉到。因此LazyLoading就毫無用武之地了。
          沒有辦法,只能把責任推倒對被映射的object,讓它注意不要包含無用的數據??墒沁@樣一來,就要專門為映射準備一些bean,然后用BeanUtil給他們賦值,再傳遞給obj2xml。

          最后實在沒有辦法,干脆徹底拋棄我的obj2xml,自己寫了一個xmlResult,使用vm來生成xml。
          雖然為需要寫一些vm,但是比起專門準備一堆bean再用obj2xml映射,還是要簡單直接一些。
          可能這也是沒有什么特別好用的obj/xml映射工具的原因吧!
          posted @ 2006-05-04 09:00 mis98zb 閱讀(1280) | 評論 (2)編輯 收藏

          最近終于想玩玩新技術了。試著用XFire做WS,用OpenLaszlo做客戶端。
          毫無疑問,當然使用的是XFire結合Spring的方式。
          而且,作為一個地道的懶人,我首先就選擇了最簡單的基于SpringRPC的方式:

          ???? < servlet >
          ????????
          < servlet-name > xfire </ servlet-name >
          ????????
          < servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class >
          ????
          </ servlet >
          可是這就帶來了一個問題:
          它是Document方式的,返回給客戶端的數據都會被自動映射成XML。

          呵呵,這就引起了我的興趣。
          以前我也曾經寫過一個obj2xml的映射工具,看看XFire的有沒有什么過人之處。

          結果很令人失望,XFire連基本的環檢測都沒有做到,直接就用org.codehaus.xfire.aegis.type.basic.BeanType.writeObject()拼命寫,一直寫到java.lang.StackOverflowError。

          看來還是不能偷懶,得研究一下XBean方式。
          posted @ 2006-05-04 08:25 mis98zb 閱讀(1206) | 評論 (1)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 赤水市| 外汇| 日土县| 绥滨县| 绥江县| 湘潭县| 金昌市| 温州市| 永定县| 平度市| 江门市| 体育| 轮台县| 怀来县| 陇南市| 万山特区| 驻马店市| 罗山县| 阿鲁科尔沁旗| 祥云县| 莱阳市| 广西| 荥经县| 孟州市| 金湖县| 天气| 南郑县| 保靖县| 吉林省| 武功县| 孝义市| 自治县| 仙居县| 喀喇沁旗| 辉县市| 白朗县| 富平县| 鲁甸县| 平安县| 涞源县| 秦皇岛市|