2009年6月23日

          在IBM的JDK環(huán)境下進(jìn)行JVM內(nèi)存監(jiān)控的問題

          錯(cuò)誤信息如下:
          java.lang.NoClassDefFoundError: sun.management.ManagementFactory

          處理:

          sun.management.ManagementFactory替換成java.lang.management.ManagementFactory  

          因?yàn)?/span>ibmjdk沒有sun.management.ManagementFactory這個(gè)對(duì)象

          posted @ 2010-11-25 12:01 JGAO編程隨筆 閱讀(568) | 評(píng)論 (0)編輯 收藏

          oracel PreparedStatement的setString問題

          錯(cuò)誤信息如下:

          超過最大長(zhǎng)度限制

          處理:

          只能插入666個(gè)中文字符。


          或者更新到最新的
          oracle驅(qū)動(dòng)包

          posted @ 2010-11-25 12:00 JGAO編程隨筆 閱讀(274) | 評(píng)論 (0)編輯 收藏

          servicemix部署到websphere中,需注意的問題

          1derby.jar包可能沖突,需刪除項(xiàng)目中的該包

          2MBean調(diào)用問題

             Websphere的MBean注冊(cè)路徑包括cell,nodeName和processName,具體可以銅鼓jconsole連接來查看MBean注冊(cè)的全路徑。這三個(gè)值可以通過Websphere的com.ibm.websphere.management.AdminServiceFactory這個(gè)對(duì)象來獲取,spring中的配置如下:
          <!-- 用于獲取websphereMBean名稱的cell,node,process -->

          <bean id="adminService" class="com.ibm.websphere.management.AdminServiceFactory" factory-method="getAdminService"/>

          <bean id="adminService.cellName" class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>

          <bean id="adminService.nodeName" class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>

          <bean id="adminService.processName" class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>

          <bean id="websphereNamingStrategy" class="com.des.engine.mbean.WebsphereNamingStrategy">

          <property name="cellName" ref="adminService.cellName"/>

          <property name="nodeName" ref="adminService.nodeName"/>

          <property name="processName" ref="adminService.processName"/>

          </bean>

          WebsphereNamingStrategy為自己創(chuàng)建的對(duì)象就包括那三個(gè)屬性

          3:安全問題

          出現(xiàn)如下錯(cuò)誤,Caused by: javax.management.JMRuntimeException: ADMN0022E: 由于憑證不足或憑證為空,無法對(duì) org.apache.servicemix:Name=ServiceMgtImpl,cell=dvpbNode02Cell,Type=SystemService,ContainerName=ServiceMix,node=dvpbNode02,process=server1 MBean  retrieveServiceList 操作進(jìn)行訪問。

              該問題是因?yàn)樵O(shè)置了安全控制,把控制臺(tái)的【安全性->安全管理、應(yīng)用程序和基礎(chǔ)結(jié)構(gòu)】里面的所以安全配置都去掉,然后重新啟動(dòng)服務(wù)器主機(jī)(注意是重啟主機(jī),不然安全設(shè)置不起作用),再啟動(dòng)websphere服務(wù)應(yīng)該就可以了,還有就是servicemix的應(yīng)用要跟websphere一起啟動(dòng),不要等websphere啟動(dòng)后再到控制臺(tái)啟動(dòng)

          posted @ 2010-11-25 11:58 JGAO編程隨筆 閱讀(895) | 評(píng)論 (2)編輯 收藏

          ResultSet內(nèi)存溢出OutOfMemory問題

          錯(cuò)誤信息如下:

          jdbc在操作oracle海量數(shù)據(jù)的時(shí)候用ResultSet獲取所有的返回?cái)?shù)據(jù)出現(xiàn)內(nèi)存溢出

          處理:
          出錯(cuò)的原因是ResultSet用的是可滾動(dòng)結(jié)果集,正常情況下ResultSet是指針指向數(shù)據(jù)庫(kù)的數(shù)據(jù),本身是不存儲(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)的,默認(rèn)情況下就算是提交的sql能查詢處上億條的數(shù)據(jù)也是不消耗內(nèi)存的,但是如果用的是可滾動(dòng)結(jié)果集的ResultSet情況就不一樣了,ORACLE 是不支持可滾動(dòng)結(jié)果集的,那么我們用JDBC得到一個(gè)可滾動(dòng)的結(jié)果集就是由JDBC自己支持的,也就是說結(jié)果集是要存放在內(nèi)存中的,所以在海量數(shù)據(jù)的情況下也就是要消耗大量?jī)?nèi)存的,因此造成內(nèi)存溢出也就是正常的了,所以如果是海量數(shù)據(jù)的話就不要用可滾動(dòng)結(jié)果集就可以了。

          posted @ 2009-06-23 21:19 JGAO編程隨筆 閱讀(2118) | 評(píng)論 (0)編輯 收藏

          com.ibm.websphere.ce.cm.StaleConnectionException: [ibm][db2][jcc][t4][2030][11211] 檢測(cè)到了通信錯(cuò)誤

          錯(cuò)誤信息如下:

          com.ibm.websphere.ce.cm.StaleConnectionException: [ibm][db2][jcc][t4][2030][11211]

          檢測(cè)到了通信錯(cuò)誤。所使用的通信協(xié)議:TCP/IP"n所使用的通信 APISOCKETS

          檢測(cè)到錯(cuò)誤的位置:Reply.fill()"n用于檢測(cè)錯(cuò)誤的通信功能:InputStream.read()

          特定于協(xié)議的錯(cuò)誤代碼數(shù)據(jù)不足、 0。消息:null"n   

          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)"n     

          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)"n    at

          sun.reflect.DelegatingConstructorAccessorImpl.newInstance

          (DelegatingConstructorAccessorImpl.java:45)"n

          at java.lang.reflect.Constructor.newInstance(Constructor.java:522)"n  

          at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapExceptionHelper

          (GenericDataStoreHelper.java:523)"n   

          at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapException(GenericDataStoreHelper.java:578)"n      

          at com.ibm.ws.rsadapter.jdbc.WSJdbcUtil.mapException(WSJdbcUtil.java:909)"n 

          at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeQuery(WSJdbcStatement.java:898)"n   

          at com.newland.bi.util.db.DBUtil.executeQuery(Unknown Source)"n

          at com.newland.bi.util.db.DBUtil.executeSql(Unknown Source)"n     

          at com.newland.bi.dao.jdbc.DaoImpl.executeQuery(DaoImpl.java:64)"n   

          at com.newland.bi.service.report.exp.dao.ReportExpDao.getExpList(ReportExpDao.java:72)"n 

          at com.newland.bi.service.report.exp.manage.ReportExpMgt.runExport(ReportExpMgt.java:91)"n   

          at com.newland.bi.service.report.exp.servlet.ReportExp1Servlet$1.run(ReportExp1Servlet.java:97)"n      

          at java.util.TimerThread.mainLoop(Timer.java:537)"n       at java.util.TimerThread.run(Timer.java:487)"n

          處理:

          出錯(cuò)的原因可能是防火墻問題,websphere應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間是否存在防火墻

          防火墻是否會(huì)設(shè)置多久沒活動(dòng)的連接就自動(dòng)斷開掉,如果是這樣的話就會(huì)有問題,因?yàn)?/span>websphere上面的數(shù)據(jù)庫(kù)連接池可能有一段時(shí)間沒連接而被防火墻斷掉了

          但對(duì)于連接池本身根本就不知道該連接是否還可用,所以web應(yīng)用從連接池獲取的連接可能就是已經(jīng)斷開的了,所以就可能會(huì)出現(xiàn)日記中的錯(cuò)誤問題


           

          posted @ 2009-06-23 21:14 JGAO編程隨筆 閱讀(7431) | 評(píng)論 (1)編輯 收藏

          Timer.schedule和Timer.scheduleAtFixedRate的區(qū)別

          schedulescheduleAtFixedRate的區(qū)別在于,如果指定開始執(zhí)行的時(shí)間在當(dāng)前系統(tǒng)運(yùn)行時(shí)間之前,scheduleAtFixedRate會(huì)把已經(jīng)過去的時(shí)間也作為周期執(zhí)行,而schedule不會(huì)把過去的時(shí)間算上。

          posted @ 2009-06-23 21:13 JGAO編程隨筆 閱讀(1005) | 評(píng)論 (0)編輯 收藏

          cxf找不到類org.apache.axis.soap.MessageFactoryImpl出錯(cuò)

           

          錯(cuò)誤信息如下:

          Caused by: java.lang.ClassNotFoundException: org.apache.axis.soap.MessageFactoryImpl

              at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

              at java.security.AccessController.doPrivileged(Native Method)

              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

              at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

              at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

              at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:50)

              ... 10 more

          處理:

          原因是調(diào)用了axis soap.MessageFactoryImpl,cxf應(yīng)該用的是sun
               在注冊(cè)安全攔截器之前執(zhí)行下面代碼就可以了

          System.setProperty("javax.xml.soap.MessageFactory", "com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl");

          posted @ 2009-06-23 21:10 JGAO編程隨筆 閱讀(1287) | 評(píng)論 (0)編輯 收藏

          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 丰城市| 石首市| 永兴县| 尚义县| 沧州市| 称多县| 清水河县| 阿拉尔市| 余江县| 崇信县| 凉城县| 张家港市| 平原县| 垦利县| 兰溪市| 资阳市| 衡南县| 桃源县| 亳州市| 津南区| 从江县| 洛宁县| 双城市| 湟源县| 德兴市| 客服| 遵义市| 青冈县| 佛坪县| 象山县| 盐津县| 扎赉特旗| 绥江县| 永清县| 平阴县| 聊城市| 惠水县| 加查县| 江孜县| 米林县| 仲巴县|