盡人事而順天命

          關(guān)注 esb , soa ,設(shè)計(jì)模式,快速組件式開(kāi)發(fā)

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            6 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

          2006年4月3日 #

          沒(méi)有想到會(huì)碰到這樣的一個(gè)問(wèn)題,百思不得其解,貼出來(lái)希望哪位也在使用 db2? type2 app jdbc 的兄弟幫忙分析一下: 

          使用 ibatis? sql map以及 dao 框架 ,使用 JTA 事務(wù)管理,在 websphere 5.1 以及 jboss 4.1 上測(cè)試,都出現(xiàn)以下的怪現(xiàn)象: 

          使用? sql map 執(zhí)行 insert? 操作的時(shí)候, 聲明如下的 sql map:

          <insert?id="ppl_t1.insert"?parameterClass="com.surekam.ppl.dao.test.PPLT1">
          ????????asfafdafsdafafsd?values?(#projId#,#name#);
          </insert>
          也就是說(shuō),一個(gè)完全不合法的 sql 語(yǔ)句,但是,在執(zhí)行的時(shí)候, db2 jdbc 居然不報(bào)錯(cuò)!!查找到 ibatis 的 sql 執(zhí)行部分的代碼: SqlExecutor 類的: 
           
          ?1public?int?executeUpdate(RequestScope?request,?Connection?conn,?String?sql,?Object[]?parameters)
          ?2??????throws?SQLException?{
          ?3????ErrorContext?errorContext?=?request.getErrorContext();
          ?4????errorContext.setActivity("executing?update");
          ?5????errorContext.setObjectId(sql);
          ?6
          ?7????PreparedStatement?ps?=?null;
          ?8????int?rows?=?0;
          ?9
          10????try?{
          11??????errorContext.setMoreInfo("Check?the?SQL?Statement?(preparation?failed).");
          12??????ps?=?conn.prepareStatement(sql);
          13
          14??????errorContext.setMoreInfo("Check?the?parameters?(set?parameters?failed).");
          15??????request.getParameterMap().setParameters(request,?ps,?parameters);
          16
          17??????errorContext.setMoreInfo("Check?the?statement?(update?failed).");
          18
          19??????ps.execute();
          20??????rows?=?ps.getUpdateCount();
          21????}

          22????finally?{
          23??????closeStatement(ps);
          24????}

          25
          26????return?rows;
          27??}


          其中并沒(méi)有什么特別的地方,可是? PrepardStatement 在執(zhí)行的時(shí)候就是不 拋出 SQLException ,而是處理成 SQLWarning ,可以通過(guò) getWarning 取到錯(cuò)誤信息. 

          而直接自己寫(xiě)一個(gè)測(cè)試,直接去測(cè)試這樣一個(gè)不合法的 sql ,是會(huì)拋出異常的.
          db2jdbc 的 bug ?? 還是其它哪里的環(huán)境設(shè)置?? 

          posted @ 2006-04-03 10:11 boss_ch 閱讀(639) | 評(píng)論 (1)編輯 收藏

          2006年3月15日 #

          使用模板對(duì)頁(yè)面布局進(jìn)行管理,是一直以來(lái)的一個(gè)大問(wèn)題,從以前的 include 方式到后來(lái)使用 tiles 進(jìn)行布局,對(duì)于一個(gè)新的項(xiàng)目來(lái)說(shuō),我覺(jué)得布局、安全性、權(quán)限等這些東西,都是先要考慮的。

          布局管理的目標(biāo)是什么?? 一般的應(yīng)用(或是網(wǎng)站)中,具體內(nèi)容部分相對(duì)是比較固定的,但是其外框卻可能隨客戶的喜好而有不同的修改(或是類似網(wǎng)站改版),那么,我認(rèn)為,使用布局管理的主要目的,就是在這種布局管理修改時(shí),能從容應(yīng)對(duì),只改動(dòng)最可能少的文件。

          為了達(dá)到只改動(dòng)最可能少的文件的目錄,那么,自然的,我們會(huì)想到類似于OO語(yǔ)言中的繼承機(jī)制,如果布局是由父類管理的,那么改動(dòng)時(shí)只改動(dòng)父類就可以了。類似的,模板管理的布局,也應(yīng)該是達(dá)到 這樣的目標(biāo)的。 從這個(gè)角度來(lái)說(shuō), tiles 最大的可取之處,在于其頁(yè)面配置中的繼承機(jī)制(不了解 tiles的人請(qǐng)自己找找 tiles的資料看看),同時(shí)可參考 http://www.aygfsteel.com/steady/archive/2006/02/08/29953.html 。

          在 struts 下,導(dǎo)航可以直接指向 tiles-config 里的定義,這樣就相當(dāng)于是一個(gè)子類(個(gè)人覺(jué)得,對(duì)于大項(xiàng)目來(lái)說(shuō),這個(gè)配置文件的管理也是個(gè)大問(wèn)題)。而在 jsf 里,頁(yè)面導(dǎo)航不能直接指向模板定義,而需要一個(gè) jsp ,,雖然是個(gè)簡(jiǎn)單的 jsp ,可是卻為了一個(gè) view ,我們需要?jiǎng)?chuàng)建兩個(gè) jsp?  對(duì)于大點(diǎn)的項(xiàng)目來(lái)說(shuō),這樣子的工作量并不小。 因此 ,總的來(lái)說(shuō),使用 tiles這樣子的布局管理,并不能達(dá)到我們想要的目的。 
          說(shuō)到這個(gè),倒是讓人想起 wicket 的好處來(lái),wicket 里,頁(yè)面是一個(gè) java 類對(duì)應(yīng)的,java 類可以繼承,這樣就很自然的把頁(yè)面布局的管理,換成上述的 OO 類繼承的方式了。 具體可以參考 wicket 的 example

          posted @ 2006-03-15 10:08 boss_ch 閱讀(3926) | 評(píng)論 (0)編輯 收藏

          2006年3月7日 #

          myeclipse ide  4.1正式發(fā)布好像也有一段時(shí)間了,今天有點(diǎn)空給下載試了一下。
          感覺(jué)最過(guò)份的,,, 是居然把圖象編輯給做了進(jìn)去,,真是過(guò)份啊,,圖像編輯器里也有層次、漸變工具、套索工具等,做做簡(jiǎn)單的圖片修改還真是夠用。

          難不成,程序員自己操刀做簡(jiǎn)單美工的需求比較大么? 程序員兼做著美工可真夠累的啊。

          不過(guò)。另外啰嗦一下,myeclipse 的  uml 功能,還是遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到讓我想要用他的程度,可能是以前用 together 用習(xí)慣了給寵的吧。在 eclipse 平臺(tái)上,現(xiàn)在還真是沒(méi)有什么感覺(jué)非常好的 uml 工具。 together 與 ibm rsa 都巨慢無(wú)比。。。。

          在 jboss 的項(xiàng)目源碼里看到一個(gè) .zuml 的文件,查了一下好像是一個(gè)名為 "Poseidon " 的工具,但是這東西沒(méi)有聽(tīng)說(shuō)過(guò)。。具體也不敢說(shuō)了。

          作為一個(gè) web 開(kāi)發(fā)套件來(lái)說(shuō),myeclipse 還是 eclipse 平臺(tái)上的最好選擇。其實(shí)對(duì)于比較熟練的開(kāi)發(fā)人員來(lái)說(shuō),不需要太多的圖形化的東西,像jsf 的所見(jiàn)即所得編輯器,效率并不高。 畢竟 jsf 與 傳統(tǒng)的這種 UI 界面還是有很大的差距。

          posted @ 2006-03-07 17:07 boss_ch 閱讀(337) | 評(píng)論 (0)編輯 收藏

          2006年2月24日 #

           

          要使用 wsadmin 來(lái)停止應(yīng)用程序,執(zhí)行以下步驟:

          在 OS/400 命令行上,運(yùn)行 STRQSH(啟動(dòng) Qshell)命令。

          運(yùn)行 cd 命令來(lái)進(jìn)入包含 wsadmin 工具的目錄:

          cd /QIBM/ProdData/WebASE51/ASE/bin
          啟動(dòng) wsadmin。

          在 wsadmin 提示符處,運(yùn)行以下命令來(lái)標(biāo)識(shí)應(yīng)用程序所駐留的服務(wù)器的應(yīng)用程序管理器 MBean,并將其賦給 appManager 變量:

          set appManager [$AdminControl queryNames type=ApplicationManager,*]
          此命令返回應(yīng)用程序管理器 MBean。

          可以停止單個(gè)應(yīng)用程序,也可以停止正在應(yīng)用程序服務(wù)器中運(yùn)行的所有應(yīng)用程序。

          要停止單個(gè)應(yīng)用程序,運(yùn)行以下命令:

          $AdminControl invoke $appManager stopApplication portlet_oa_war
          其中 myApp 是要停止的應(yīng)用程序的名稱。

          要停止應(yīng)用程序服務(wù)器中所有正在運(yùn)行的應(yīng)用程序,執(zhí)行以下步驟:

          運(yùn)行以下命令來(lái)查詢應(yīng)用程序服務(wù)器中正在運(yùn)行的應(yīng)用程序,并將結(jié)果賦給 apps 變量:

          set apps [$AdminControl queryNames type=Application,*]
          此命令返回應(yīng)用程序 MBean 的列表。

          運(yùn)行以下命令來(lái)停止所有正在運(yùn)行的應(yīng)用程序:

          foreach app $apps {set appName [$AdminControl getAttribute $app name];
           $AdminControl invoke $appManager stopApplication $appName}



          另:
          wsadmin.sh  連接時(shí)的語(yǔ)法:
          ./wsadmin.sh -conntype SOAP -host localhost -port 8882 -user uid  -password pwd

          posted @ 2006-02-24 16:21 boss_ch 閱讀(1189) | 評(píng)論 (0)編輯 收藏

          2006年2月22日 #

          (寫(xiě)在前頭:這是作者的好友在異國(guó)結(jié)婚時(shí),她父親從大陸寄來(lái)的信,結(jié)婚當(dāng)日司儀當(dāng)眾就把全文朗誦出來(lái),那是我見(jiàn)過(guò)最安靜的一次請(qǐng)客場(chǎng)合,在場(chǎng)學(xué)生無(wú)不為其父母的摯愛(ài)而感動(dòng)。)

            

          萍兒:

            爸媽聽(tīng)到你要結(jié)婚的喜訊,真為你高興,遠(yuǎn)隔千里,我們不能參加你的婚禮,不能在婚禮上獻(xiàn)上我們的家長(zhǎng)致辭,這是我們內(nèi)心的一點(diǎn)遺憾。但你是我們的女兒,相信你能理解爸媽的一份感受。

            那天放下電話,我和你媽沉默了良久--我們的孩子怎么一下子就長(zhǎng)大了?后來(lái),你媽對(duì)著鏡子淡淡地說(shuō):"你看,我的白頭發(fā)又多了,萍兒也該結(jié)婚了。"我數(shù)著你媽的白發(fā),那些白發(fā)竟像許多往事,一件一件浮上心頭。你媽提醒我:"還是給女兒寫(xiě)一封信吧,就算是我們送你的一份新婚禮物!"

            萍兒,我們只是天底下最平凡的父母,我們的孩子也只是天底下最平凡的女兒,我們不奢求太多,只是希望我的孩子踏上婚姻之路,走向人生之旅后,能滿懷感恩,一路平安。在這里,給你一個(gè)我們的生活體會(huì)。

            先要告訴你:家不是一個(gè)講理的地方。這句話聽(tīng)起來(lái),很沒(méi)有道理,但千真萬(wàn)確,這句話是真理,是至理,是多少夫婦,多少家庭(包括我們家)用多少歲月,多少辛酸,多少愛(ài)恨,多少是非,多少對(duì)錯(cuò),在糾纏不清難解難分的混亂中,梳理出來(lái)的一個(gè)最后結(jié)論。

            當(dāng)夫婦之間開(kāi)始據(jù)理力爭(zhēng)時(shí),家里便開(kāi)始布上陰影。兩人都會(huì)不自覺(jué)地各抱一堆面目全非的歪理,敵視對(duì)方,傷害對(duì)方,最后只能兩敗俱傷,難以收拾。多少夫妻,為了表面的一個(gè)"理",落得負(fù)心無(wú)情。他們不知道,家不是講理的地方,不是算帳的地方。那么,何為"家",家是什么地方? 萍兒,我們年輕的時(shí)候,也回答不了這個(gè)問(wèn)題;也像許多夫妻那樣,為一點(diǎn)小事?tīng)?zhēng)鬧不休。那一年為了你小叔的調(diào)動(dòng)問(wèn)題,我和你媽大吵了一場(chǎng),甚至鬧到要離婚的地步。只是在那個(gè)時(shí)代我們 還缺乏勇氣。直到有一天,一位老戰(zhàn)友在他孩子的婚禮上說(shuō)"希望你們白頭偕老,相愛(ài)永遠(yuǎn)"時(shí),愛(ài)這簡(jiǎn)短的字,像春雷響在我心里。

            是的,家不是講理的地方,家該是講愛(ài)的地方。愛(ài)一時(shí)很容易,愛(ài)一生一世卻不容易,這里面有許多妙處需要我們?nèi)タ偨Y(jié)和體會(huì)。

            其次我們要告訴你:婚姻是個(gè)空盒子,你必須往里面放東西,才能取回你要的東西;你放的愈多,得到的也就愈多。很多人結(jié)婚時(shí),對(duì)婚姻有許多期盼,期盼從中可以得到富貴,藉慰,愛(ài)情,寧?kù)o,快樂(lè),健康,其實(shí)婚姻開(kāi)始的時(shí)候,只是一個(gè)空盒子。走到一起的兩個(gè)人,一定要養(yǎng)成一個(gè)習(xí)慣,去給,去愛(ài),彼此侍奉,彼此贊賞,日后,那個(gè)空盒子才會(huì)日漸豐富起來(lái)。

            空盒子最先該放的應(yīng)該是"思念",思念是一種使我們刻骨銘心的東西。它是兩個(gè)人有了肯定,有了情感,然后進(jìn)而關(guān)懷,進(jìn)而疼愛(ài)的一種情緒。"思念"是疲憊時(shí)通向家里的一條小路,是寒冷冬夜里的一股暖意,是匆忙推開(kāi)家門后撲面而來(lái)家飯香……

            空盒子里還要放進(jìn)"藝術(shù)",婚姻生活中的藝術(shù)。在婚姻生活中,需要講藝術(shù)的地方無(wú)處不在,生氣有藝術(shù),吵架有藝術(shù)。有一對(duì)夫婦含辛茹苦養(yǎng)育了五個(gè)孩子,其中之艱難,只有他們自己能體會(huì)。一天,夫妻為了孩子的一件小事吵起來(lái),越吵越厲害,眼看不可收拾了,妻子突然說(shuō):"等一下,我要去生孩子了。"這句話,就是吵架的藝術(shù)。

            婚姻的盒子里,除了放"思念"和"藝術(shù)"外,還有許多東西,都可以放進(jìn)去,這有待于你們自己去填補(bǔ)。

            寫(xiě)到這里想到一位作家說(shuō)過(guò)的一句話:你們生養(yǎng)他,教育他,你們的責(zé)任已盡,而你們給他最好的禮物,是一對(duì)翅膀。萍兒,這封信,就是爸媽送給你的結(jié)婚禮物,我們希望你帶著我們的祝福,快樂(lè)的飛翔!

          posted @ 2006-02-22 11:04 boss_ch 閱讀(406) | 評(píng)論 (0)編輯 收藏

          2006年2月20日 #

          在 blogjava 潛水也有一段時(shí)間了,論壇太多,朋友太少,在 blog java 占這么一塊地盤,希望與從事 j2ee 架構(gòu)設(shè)計(jì)的相關(guān)朋友一起學(xué)習(xí)探討。 

          當(dāng)前關(guān)注的重點(diǎn)方向: ESB , SOA, 快速組件式應(yīng)用開(kāi)發(fā)。

          posted @ 2006-02-20 09:37 boss_ch 閱讀(347) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 潍坊市| 师宗县| 广丰县| 西平县| 阳西县| 甘德县| 紫云| 石柱| 丰都县| 河西区| 彭州市| 印江| 睢宁县| 嵊州市| 南皮县| 武清区| 峨眉山市| 四川省| 五常市| 五峰| 镇巴县| 萝北县| 黄龙县| 济源市| 砚山县| 吉安市| 府谷县| 林西县| 邓州市| 龙里县| 澎湖县| 沿河| 曲周县| 嘉定区| 朝阳市| 固阳县| 镇原县| 威远县| 兴文县| 浮梁县| 安泽县|