<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Goingmm

      BlogJava :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
      82 隨筆 :: 15 文章 :: 452 評論 :: 0 Trackbacks

    #

         摘要:           周末和 MIKE 吃飯的時候,他詢問,上次提說的問題,什么時候能寫出來。“對Session和Transaction的處理,最好單獨實現一個模板類來統一做”   溫故 居于常規的Hibernate的DAO代碼。例子做一個Create操作  1public&nb...  閱讀全文
    posted @ 2005-12-07 13:55 Goingmm 閱讀(1688) | 評論 (11)編輯 收藏

    ------------------------------------------------------------------------------------
          NEW OFFICE   AT  2005-12-05
    ----------------------------------------------------------------------------------------------

    換了新的環境,
    新辦公室 很大,很新,
    大得大家坐一間屋子里,稍微遠點就看不清楚摸樣了
    新得連地毯,空調都沒得。

    昏暗的燈光下。感覺像手工作坊的織衣車間
    樓頂橫七豎八的管道和吊燈,有點像學校的洗澡堂

    可能,設計師要的就是這份簡潔,
    ... 似乎在向我們詮釋,節約

    大老遠從城市中出來,
    找的,就是這刻回歸自然的感覺

    荒涼?
    一個連吃飯都緊張的地方。
    明天打算自己帶盒飯過來試試


    2005-12-05 New Office




    posted @ 2005-12-05 17:47 Goingmm 閱讀(297) | 評論 (3)編輯 收藏


       最近,用各種算是流行的方法寫了些Hibernate的例子(基于測試)。上次打算寫兩篇文章。① Hibernate 常用工具的配置和使用。② Hibernate 比較簡單的,基于單表操作的例子。寫了80%吧。越想越感覺意義不大。現在網上很多這方面的文章。我自己也沒有理由,自私的所謂備份。占用Blogjava的硬盤空間。就成了后來的 “冰 凍 閑 聊
      
    上個星期五,因為公司停電。所以休息了三天。一年前,這個數字可能會感覺太短。但是現在卻是突然覺得連續三天不上班。不知道該干什么好。
      
    難道是對這種“月光”族的生活上癮拉? 這樣的話題,等以后想明白了再說吧!~
      
    接著說這個周末吧!因為無聊,翻翻,去年用過的一些散亂的筆記。越看越搞笑,字跡潦草,還好基本上是一些技術痕跡。找不到從前那些“少年不知愁滋味”的感覺。
      
    因為我一直不是很喜歡看書。現在的書,寫得好的不多,但是價錢蠻貴的。所以,有時候就會把一些疑惑的問題寫在一張紙上。然后去網上先收集一些資料,再閱讀總結。
      
    這里,我發現了一條有趣的問題。2004123 Hibernate使用JDBCJTA管理事務有什么區別?傻傻的問題。不如今天就聊聊這個話題吧!可能,現在也會有人對這個問題感覺疑惑的。

     

    打開hibernate.cfg.xml看看具體的JDBCTransaction JTATransaction 配置:

     11)
     2<property name="hibernate.transaction.factory_class">
     3org.hibernate.transaction.JDBCTransactionFactory
     4</property>
     5
     62)   
     7<property name="hibernate.transaction.factory_class">
     8org.hibernate.transaction.JTATransactionFactory
     9</property>
    10


    可能你還會問:“除了這兩種還有其他的選擇嗎?到底選擇那一種好呢?在一個應用中能混合使用嗎?”等等問題

    分析和解答:
    第一個問題
       可以選擇其他的事務管理方式。不過都是JTA的不同實現版本。這個目錄下面有羅列出來hibernate-3.0\src\org\hibernate\transaction。比如:

    1<property name="hibernate.transaction.manager_lookup_class">
    2org.hibernate.transaction.WeblogicTransactionManagerLookup
    3</property>
    4


    第二個問題
      
    概念事務:事務就是能以整體的原子操作形式完成的一系列操作。

       是不是感覺有些饒口?簡單的說,事務 就是一個邏輯工作單元。其中包括一系列的操作。
    至于事務為什么會產生?有什么基本特性?等等。。這些問題今天不就詳細的羅列了。網絡上有寫得很好的文章。
    Hibernate JDBC的輕量級封裝。他本身并不具備事物管理的能力。事務的管理和調度將委托給JDBC或者JTA去做。


        先說,他默認的事務處理機制[ JDBC Transaction ],這的確是最簡單的處理方式,因為Hibernate只是對JDBC事物做了一層簡單
    的封裝。JDBC事務由Connection管理。事務周期局限于Connection的生命周期之內。在Hibernate中這種事務周期也就局限于一個Session之內。做個比較吧!

    Connection conn =     ;      <---   session = sf.openSession();// 初始化數據庫連接,

    setAutoCommit= false;

    conn.setAutoCommit(false);     <---   tx = session.beginTransactioin(); 會再次確認setAutoCommit是否是false

    調用業務方法                   <---   調用業務方法

    conn.commit();                 <---   tx.commit(); (對應左邊的兩句) 這里很關鍵,關掉自動commit。自己就必須做commit。否則數據是不會被持久到數據庫

    conn.setAutoCommit(true);

    conn.close();                  <---   session.close();

     

    簡單吧!如果你對JDBC有了解,看到這里可能會壞笑,NND就這么簡單,我也會封裝有興趣的話可以直接去看看具體的源代碼。

     
    看看第二種[JTA Transaction]有什么神奇的地方吧!

       JTA 提供了跨Session的事務管理能力。JTA的事務是要容器支持的,即JTS,用來分布式的要求比較多一些,比如像銀行這種大系統,處理多個事務源的這些的。
      
    JTA事務管理則是由JTA容器實現。事務的生命周期完全由容器來維護。容器中可以有很多Connection。按照執行的順序,因該是串聯的一條JDBC Connection事務鏈。所以JTA的事務周期可以跨多個JDBC Connection的生命周期。在Hibernate中這種事務周期也就可以跨越多個Session
      
    所以。JTA事務的Connection不能對事務管理進行干涉。意思就是,假如使用了JTA就不應該再重復調用HibernateTransaction功能。這里涉及到一種事務模型(嵌套式事務模型)的問題。這里也不詳細的介紹具體的幾種事務模型了。在EJB2.0規范里面也不支持這種事務處理模型。
      
    例如

    1class A 有一個方法 savePerson()
    2class B 有一個方法 saveAddress()
    3// Call A.savePerson() and B.saveAddress() Used JTATransaction
    4class C 有一個方法 saveAll() 
    5UserTransaction tx = (UserTransaction)(new InitialContext.lookup(“…”))
    6A.savePerson();
    7B.saveAddress();
    8tx.commit();
    9

     

    那么下面這段代碼

    1Transaction tx = session.beginTransaction();
    2tx.commit();
    3


    就不能在class A class B 中出現。

    原因:session.beginTransaction()也同樣執行了InitialContext.lookup方法來獲UserTransaction的實例,tx.commit()也同樣調用了UserTransaction.commit().這樣做就會形成嵌套式的事務。在Hibernate里面是不被允許的。會導致運行期錯誤

     

    談到這里,不難看出,他們都有著自己鮮明的特點和基本的聯系。回到開頭的問題,在實際項目中該選用誰好呢?

    這就需要分情況而定了。

    1) 如果項目有用到Sessionbean.可能你會疑問?這時候由誰來管理事務呢?

    答案:用SessionBean來管理。使用JTA會很方便。因為你完全沒有必要去理會Transaction。直接在SessionBean的部署描述符里面聲明事務就行了。

    2) 自己實現一個Service類,來統一調用持久層的方法。這樣也能做到前后臺的松耦合。但是這時候你對sessionTransaction的處理就需要小心了。如果系統考慮分布式就使用JTA否則就JDBC足夷。但還是有必要考慮系統的升級,變遷什么的。對sessionTransaction的處理,最好不要放在DAO里面做。單獨實現一個模板類來統一做。具體的原因和做法,以后有時間再寫出來。

     

    第三個問題

    由于SessionFactory是線程安全的,他的創建過程非常復雜,代價極其昂貴。一個應用中最好只有一個SessionFactory。事務管理類型的選擇是在SessionFactory的屬性里面配置的。這里只能選擇一種事務管理方式。

    當然,你可以說還有特殊的情況,假如,這個應用需要連接到兩臺數據庫服務器,就必須為他創建另一個SessionFactory。那么就可以選用另一種事務管理方式。表面上看這種情況是可以的。居于兩種事務的性能考慮。混和用的意義不是很大。假設這樣用+面對考慮不周全的DAO,也違背了設計原則,想想,這樣的話,因為數據庫的變動,還得回去修改DAO的代碼嗎?(可能會產生嵌套問題)

    所以關于這個問題的結論就是:

    在一個SessionFactory中只能選用一種事務管理

    面對多個SessionFactory的時候,可以混合用,但是不推薦

    2005-11-28 CTU OFFICE GOINGMM

    posted @ 2005-11-28 12:00 Goingmm 閱讀(1877) | 評論 (3)編輯 收藏

    遺憾昨天晚上的比賽沒有看。補時4分鐘?是不是裁判知道尤文又贏了,認為AC 必須得贏球啊!

    這種眼神很長時間沒見著了


                          yzj.jpg

    附上:舍甫琴科  上一場的4個進球,如果單純的是為了酣暢淋漓。讓你提前墊付了未來三場的運氣,
                 有些不劃算哦

                               spqk-4.jpg


    2005-11-28 CTU OFFICE


    posted @ 2005-11-28 11:24 Goingmm 閱讀(259) | 評論 (1)編輯 收藏

    很久沒有回來了。大家好
    今年的成都可真夠冷的。想..想...想.. 還沒有發餉,想什么都虛幻
    閑來無聊,寫些無聊的東西。本來想放Blog上,但是太雜亂,所以這篇Blog寫了80%后我就停下了。
    結果,變成了幾行無聊的文字


     

    posted @ 2005-11-24 18:26 Goingmm 閱讀(347) | 評論 (5)編輯 收藏

    航班日期:2005年11月15日

    航班號:CA422

    起飛/到達時間:13:00/15:30


        完成我的使命。該回家了。明天就要離開這個城市。離開一起戰斗了26個日日夜夜的項目組。項目和團隊全局意義的勝利,還需要一些時間去考驗。祝福他們在剩下的日子里能做得更好。
       
    北京,今年來了兩次。工作原因,使我頂多算一個匆匆的看客。一直沒有機會去真正了解這個Master城市。為什么叫他Master城市呢?因為我們平時看到的很多機構在這里就是總部。外表其實也就那樣。但是權力卻是Master的。背負著沉重的歷史,注定這座城市不會給我們太多華麗和浮華的外表。想想兒時向往的天安門,其實就一座二層老房子。近看我還是覺得單薄了一點。沒什么氣勢。尤其是兩邊的看臺。比大學足球場的看臺還簡單。可能這只是鞭策中國人的一種象征物吧。
       
    要讓我拿北京和成都做個比較的話。可能要明天在路上邊走邊看,才會有些感覺。但是我不大可能在飛機上給大家發Blog吧。隨便說一些生活上的感覺。這邊上班時間比成都要早(830)。但是因為離得不是太遠,而且每天上下班打車。這方面,的確方便了很多。累了一天后很容易恢復。這樣早上會睡得好一點。北京很大,大得五環外也會經常塞車。據說今年北京是暖冬,帶了很多衣服過來都還沒機會穿。而且家里有暖氣。想想在成都這幾天不敢穿著短褲趴窗臺上上網吧!~ 遺憾我還沒有能看到北方的雪,和沙塵暴。只是每天回家灰塵挺嚇人的。 干燥的氣候,隨時都會被靜電襲擊的危險。所以我的手基本還好,但是衣服的袖子就可憐了。剛開始,不理解的北京人,還以為我是怕他們的地方臟。幸好好奇的問了我,不然成天大的誤會了。
       
    這次過來基本沒有出去玩。北京的朋友還有老同學些。真是對不住了,沒有去看你們。有機會咱們成都見。那里才有正宗的水煮魚,夫妻肺片北京的飲食比較實在。貴但是量足。北京人自豪的烤鴨不好吃。說不出有什么特色。基本上我都不會吃偏甜的東西。還好這次找到一家,川菜做得不錯。


         停一下 剛才抓拍了幾張照片。全當是這次生活的一個縮影送給大家

         parlor.JPG
         PSTwins.JPG
         Leo.JPG
         windowsill.JPG
         living room.JPG

        
       最后,我不得不感謝 “聽濤小區長期穩定的無限網絡” 雖然也不知道是誰家的,而且只發射到我的窗臺上。但是這種共享精神充分體現了北方人,為人淳樸 豪爽 耿直 的特點。我會把你們的這種精神帶回南方,不過,得等我有無限網絡的那一天.

    2005-11-14夜 聽濤 窗臺

    posted @ 2005-11-14 23:11 Goingmm 閱讀(438) | 評論 (5)編輯 收藏

    ------------------------------------------------------------------------------------------------
       Eclipse Platform
    Version: 3.1.0 Build id: I20050219-1500

       
      Junit Version:
    3.8.1

    ------------------------------------------------------------------------------------------------

    EclipseJunit 大家應該都很熟悉了。這里我也不打算去講為什么需要做這樣的組合。為什么需要測試。為什么測試還有那么多講究和學問。用一個最簡單的例子,讓還沒有使用過的朋友,有一個簡單的認識。主要是發圖玩玩

     

    1)看看完成后的效果圖
    Project.JPG

    2)      
    運行Eclipse。新建一個workplace項目,點擊 file->new->project,選擇Java項目,點擊下一步。寫一個項目名稱,例如UseJUnit。點擊Finish。這樣就完成新項目的建立。再來配置一下Eclipse,在構建路徑中添加JUnit類庫。在工具條上點擊項目->屬性,選擇Java Build Path,Libraries,選擇 Add external JARs,瀏覽Junit被存儲的目錄,選擇junit.jar,點擊打開。你將會看見JUnit出現在庫的列表中。點擊確定,讓Eclipse重建路徑。
    addJar.JPG

             

    3)新建一個Class Person
    Person.JPG

    4) 新建一個Test Class TestCaseWithJunit
    newJunit.JPG

    代碼如下:public void testSay() 方法是我自己加進去的

    TestCaseWithJunit.JPG

    5) Run Test case
       runJunit.JPG

    6) 看看測試結果
          result-1.JPG

    7)修改一下測試代碼
       modifiedcode.JPG

    8)再看測試結果
    result-2.JPG

    result-3.JPG



    呵呵! 第一次發圖。如果上面的過程描述有什么不清楚的地方。請與我聯系

    2005-11-13  聽濤 窗臺


    posted @ 2005-11-13 13:45 Goingmm 閱讀(382) | 評論 (1)編輯 收藏

    -------------------------------------------------------------------------------------------------
       MySQL-Front  V3.2 Build 6.25

       MySQL           V4.1

    -------------------------------------------------------------------------------------------------

          
    從名字看雙胞胎一般的他們倆。是絕配嗎?我也不知道,有時候,MySQL-Front會告訴我:“我不認識MySQL”。不要以為我和他有啥子關系。這就是我今天要談到的問題。因為剛用MySQL一段時間。不知道還有沒有更好的組合式用法。

    1)用[MySQL Command Line Client]進入MySQL cmd操作模式

    drop database dbName;

    create database dbName;

    use dbName;

    2) 數據庫建立好以后開始建立表

       drop table person;

          create table person (

             person_name varchar(16) not null primary key,

             person_pass varchar(32) not null,

             person_sex int(1) default '0' ,

             person_email varchar(30) default null,

             person_lastLogTime dateTime,

             active_status int(1) default '0'

    );

    3)  現在你可以插入一些數據

    insert into person  values('goingmm','***','', 'todogoingmm@163.com', '2005-11-5',1);

    …………...........

    4)  OK 現在可以查詢出來看了

    select * from person

     

    突然感覺老在這里操作很是不方便。于是想起了MySQL-Front。打開看看,咦!沒有找到數據庫dbName。努力了1個小時。原因猜完,辦法想盡。MySQL-Front還是說我認識他,你不要搞我拉!~果然,再搞 MySQL-Front死掉拉。有個性。

    后來把剛才做的1234)全部回滾。就是刪掉數據庫。在MySQL-Front里面先建立一個數據庫。然后去cmd建立表,插入數據。最后回到MySQL-Front。哈哈,這回看到剛剛建立的數據庫了。

    不知道大家有沒有遇到過這個問題。是MySQL-Frontbug嗎?還有一些MySQL-Front很弱智的問題,比如SQL編輯器。希望他的下一個版本不要這么粗糙。畢竟MySQL 5.0


    2005年11月5日

    -----------------------------------------------------------------------------------------

    posted @ 2005-11-05 14:43 Goingmm 閱讀(2454) | 評論 (10)編輯 收藏


    很不好意思,前三篇都還是概念。

    其一: 我想歸納下來,給自己以后看做一個備份
    其二: 現在真沒時間去寫代碼

    項目做完,回到成都,在后面的文章中,我會抽空寫一些實際的例子


    ---------------------------------------------------------------------------------------------------------------------
       概念Hibernate中的接口
    ---------------------------------------------------------------------------------------------------------------------

    大致分類:

         被用戶的應用程序調用的,用來完成基本的創建、讀取、更新、刪除操作以及查詢操作的接口。這些接口是Hibernate實現用戶程序的商業邏輯的主要接口,它們包括SessionTransactionQuery

         Hibernate用來讀取諸如映射表這類配置文件的接口,典型的代表有Configuration

         回調(Callback)接口。它允許應用程序能對一些事件的發生作出相應的操作,例如InterceptorLifecycleValidatable都是這一類接口

         一些可以用來擴展Hibernate的映射機制的接口,例如UserTypeCompositeUserTypeIdentifierGenerator。如果你確認有必要的話這些接口可由用戶程序來實現。

     

    Session接口

           Session接口對于Hibernate開發人員來說是一個最重要的接口。然而在Hibernate中,實例化的Session是一個輕量級的類,創建和銷毀它都不會占用很多資源。這在實際項目中確實很重要,因為在客戶程序中,可能會不斷地創建以及銷毀Session對象,如果Session的開銷太大,會給系統帶來不良影響。但值得注意的是Session對象是非線程安全的,因此在你的設計中,最好是一個線程只創建一個Session對象。

           Hibernate的設計者將session看作介于數據連接與事務管理一種中間接口。我們可以將session想象成一個持久對象的緩沖區,Hibernate能檢測到這些持久對象的改變,并及時刷新數據庫。我們有時也稱Session是一個持久層管理器,因為它包含這一些持久層相關的操作,諸如存儲持久對象至數據庫,以及從數據庫從獲得它們。請注意,Hibernate session不同于JSP應用中的HttpSession。我們通常會將HttpSesion對象稱為用戶Session

     

    SessionFactory 接口

           他用到了一個設計模式[工廠模式],用戶程序從工廠類SessionFactory中取得Session的實例。

           但是請記住,SessionFactory并不是輕量級的!實際上它的設計者的意圖是讓它能在整個應用中共享。典型地來說,一個項目通常只需要一個SessionFactory就夠了,但是當你的項目要操作多個數據庫時,那你必須為每個數據庫指定一個SessionFactory

     

    Configuration 接口

           Configuration接口的作用是對Hibernate進行配置,以及對它進行啟動。在Hibernate的啟動過程中,Configuration類的實例首先定位映射文檔的位置,讀取這些配置,然后創建一個SessionFactory對象。

     

    Transaction 接口

           Transaction接口是一個可選的API,你可以選擇不使用這個接口,取而代之的是Hibernate的設計者自己寫的底層事務處理代碼。 Transaction接口是對實際事務實現的一個抽象,這些實現包括JDBC的事務、JTA中的UserTransaction、甚至可以是CORBA事務。
    為什么要這樣設計呢?因為這樣使開發者能夠使用一個統一事務的操作界面,使得自己的項目可以在不同的環境和容器之間方便地移值。

     

    QueryCriteria接口

           Query接口讓你方便地對數據庫及持久對象進行查詢,它可以有兩種表達方式:HQL語言或本地數據庫的SQL語句。Query經常被用來綁定查詢參數、限制查詢記錄數量,并最終執行查詢操作

     

    Callback 接口

           當一些有用的事件發生時。例如持久對象的載入、存儲、刪除時,Callback接口會通知Hibernate去接收一個通知消息。一般而言,Callback接口在用戶程序中并不是必須的,但你要在你的項目中創建審計日志時,你可能會用到它。


    2005年11月3日 夜  陰天 溫度偏低

    聽濤[601]室 窗臺

    posted @ 2005-11-03 23:16 Goingmm 閱讀(724) | 評論 (21)編輯 收藏

        我這里是北京時間2005-10-31 晚上22:10。還有一個時辰大家都關心的“星期一”就要過去了。今天到底發生了什么?項目組是怎么挺過來的?我們還能繼續往前走嗎?

    現在項目組的核心開發小組,DBA,服務器管理,報表組,Domain還有一些協調的工作人員都集中在信心中心。我們就下到醫院流程現場。

    核心開發小組:這組基本上是新加坡,馬來西亞過來的同事。他們負責解決系統隨時出現的緊急情況。

    DBA:這個小組主要負責繼續做移植數據的效驗,和緊急的數據patch,最主要的還是負責數據庫壓力監控和調優。

    服務器管理組:他們負責看好四臺Web服務器(有兩臺是備用的),一臺應用服務器。還有其他的測試服務器。

    報表組:這組人員現在的壓力可不小。各個部門的流程單據,還有PA的財務報表,那可是用戶眼見為實的東西。他們的    從容, 總算讓我了解ShuaiYu同志去年拿那么多獎金背后的故事拉。

    Domain

    協調的同事組:他們也挺辛苦的,雜亂的工作。該怎么去閱讀他們,我想自己嘗試過后都能理解。

     

    大家可能會疑惑,goingmm你娃在說啥子哦!半天說不到主題,大伙張著嘴巴呼吸在等現場鏡頭呢!!

     

    沒有伏筆,沒有漂亮的引詞.我們直接去住院處看看吧!

    早上800準點到達現場。大廳擠滿了人,和大家念書的時候去學校財務處交錢是差不多的。大家都生怕自己手上的錢交不掉似的。這次單槍匹馬殺過來的。打心里還是有一點不塌實的感覺。還沒有按上門鈴人家已經熱情的開門叫我進去拉。還沒打完招呼做完自我介紹,他們領導說話了:“快,小伙子830就開始錄入拉,我們還有兩員工是第一次使用系統,趕快帶他們過一次”。當場暈忽忽的怎么還有這回事啊。沒辦法啊,我們出來混,上面明確要求不能對用戶說“不”。

    830到了,全部窗口打開,那可是鈔票進,發票出的場面。站在里面的我看著心里挺爽的。時間過了大概一個小時,系統開始有異常的情況出現了。最先暴露的就是大家熟悉的查詢。我橫著一看四臺機器全部顯示請等待。緊接著就是標準的北京腔調的疑問,“小伙子,你得給我看看,這是怎么拉。半天沒動靜,你叫我怎么辦啊?”穩住他們,立馬電話連通信息中心,“喂請幫我查一下,為什么系統現在特別慢,住院處已經沒法繼續拉”。還沒有收到電話里面的回復。信息中心已經有人趕到現場,通知用戶趕快把系統切換到103(另一臺web服務器)。結果出人意料,切換到103的用戶登陸后,頁面錯誤頻頻。用戶操作一半失敗了。眼睛帖著屏幕仔細一看內存不嚴重不足。NND一直驚風火扯的Error Page 這回算是看過癮了。四臺電腦同時Show給我看,

    住院處的領導們還是見過大場面的。臨場指揮,果斷堅決。帖一紙條“手工辦理”上窗戶。指揮著,“大家體諒一下,現在系統正在升級,難免出現問題。緊急的用戶可以先到這邊來,我們幫你們做手工錄入,呆會系統好了,錄進去把條子給你們送過去。”

    我也沒有傻呆著,組織起兩臺客戶機器,再試一試101(住院處主服務器)。TNND這回就更加不可接受了。服務器直接down掉。我看到的是IBM字樣的提示信息了。“IBM”啊,我們把你們的硬件軟件一起放在那間神圣的機房里面。門口得刷卡進去。其他得連灰塵也沒讓它靠近你。就差點上幾根香,擱一大盤子放點蘋果橘子把你供起來拉!就這樣回報我們啊???

    NND不會吧?才一個小時就玩完拉?這時候信息中心果斷的重起了一次服務器,雖然沒有通知我們。但是我還是很感謝他們及時的處理。NND再進頁面狀態入初,那種感覺就像是早上起床推開那玻璃窗戶。多爽啊!后來,103也重啟好拉,這回通知拉,主要給住院處用。我又指揮著,大家都確認進103吧。這次切換還算滿意,一直到病人錄入完畢都沒有發生問題(四臺一起工作)。在住院處守侯了一天,看著他們不時拿出全部發票,鈔票,數著算著,最后打開報表核對,呵呵!他們也怕錢不夠。還好,平均每個人核對過3次。精確到小數點后面兩位數。都能對上。

    中午回研發室吃盒飯。正好碰上老大在給蔡總匯報情況。挺實在的,包括問題,出現原因,現在的解決辦法。從系統設置,到硬件,那可是都說到點子上拉。“就好比公司說要讓他們動起來每人發5000先用著吧。” 話語中我能感覺到明天早上的壓力會比今天小。不管能小多少,能不斷進步就好。聽得入神拉,難吃的盒飯,快吃完才感覺出來難吃死老。這回還真對得起這10塊錢。

    看到這里,我想大家,還會為我明天早上的遭遇,捏一把汗。總結一下:“問題會延續... 時間不確定;壓力依然在,時間不確定;”可能這個時間越短,我們能學到的越多。

    2005年10月31日  聽濤 601室 窗臺

    posted @ 2005-10-31 23:35 Goingmm 閱讀(599) | 評論 (24)編輯 收藏


        閉上眼睛,回首
    23年來的經歷。真的能看見眼前快速閃過的畫面。使勁的想扎進去看清楚一點。那里有童趣,幼稚,天真,有夢想,還有堅持。是會意的傻笑把我拉回了現實。奇怪沒有找到1029這個時間戳。書上說:“人是聰明的動物。他們只會把對自己有意義的東西,深深的勾畫在腦海中。”

    的確,眼前的經歷注定了1029是這一輩子再也難忘的日子。快兩年的心血終于開始有了收獲。我現在我還不敢貿然提說“勝利”這兩個字。開發團隊的穩重,成熟和冷靜告訴我“考驗才剛剛開始”。

    在這里留下這些雜亂的文字,遙寄在遠方默默支持我們的成都團隊全體同事。讓我們一起來分享這美妙時刻。我大致能體會你們此時難以描述的心情。擔心擔心系統承受的壓力,擔心前方的開發人員面臨的難題。自豪自豪一天內系統幾乎沒有大的問題,自豪自己就是開發團隊的一員。喔!說什么哦!都說難以描述拉真想把你們每一個人都寫的活靈活現,可憐我沒那樣的文筆,還是到現場去看看吧!

     

    鏡頭一

    2005-10-29日凌晨1 按照項目組的安排這個時候我們應該進入夢境。為上線做好最后的準備。可能是由于第一次有這樣的經歷,內心有些亢奮,也可能是平時沒有這么早睡的習慣。差不多2點才睡著。早上530起床去醫院研發室。等待數據移植。

     

    鏡頭二

           由于數據移植推遲了一點時間。早上730左右完成數據移植,同時啟動了應用服務器

    這時候,DBA+Shuaiyu)全然忘記自己是通宵到現在,還在不知疲憊的檢查驗證數據,做數據庫優化。這時候問題出現了。由于昨天晚上5.4(老系統)的收銀機沒有完全關閉。Patch進去的補丁會產生問題。這邊報表服務器也進不去了,還有誰改了我們熟悉的iHIS的密碼。管理員登陸不了拉。那邊電話里面傳過來的消息說:“用戶已經迫不及待的登陸進了系統”說到這里場面已經有一點混亂了。

    老板此時的臉上看不出笑容,找不到慌亂,可能是他的堅持還強撐著極限中的自信和寬容。這是一個需要英雄的時刻,但說實話,我什么忙也幫不上。經過大家的努力,密碼問題輕松搞定,收銀機的Patch也有驚無險。報表組拼盡全力,依然毫無頭緒。平時做100次也沒有問題,偏偏今天

    我們在住院處接到通知,應用服務器需要重新啟動。感覺怪怪的,后來才知道。正是這次重啟解決了報表問題(報表在服務器啟動的時候會到一個MSTR表去load數據,但是今天先啟動了服務器,然后才把這些數據PatchMSTR表中,造成了幾個小時的“報表問題”)

     

    鏡頭三

           應用程序問題解決了,住院用戶吹著病人等不急拉,我們得趕快下住院部去。時間:1007分,Baijie(北京測試老大)帶領我們趕到住院處,協助他們開始做病人的住院登記以及住院費用處理。

    去之前聽說這個部門壓力很大,四個窗口平時都忙不過來。心里還憷著呢!還好,到現場一打聽,今天是周末沒有那么多人。平時擠滿人的大廳幾乎是空蕩蕩的,外面看感覺和去銀行取錢的場景很相似。進去以后發現有一個很逗的老頭,不間斷的和我們開著玩笑。懷揣著北方人的幽默。可能是他的熱情和老練,讓我感覺北京話聽著還蠻淳樸的。

    大概在1130的時候出了點小狀況。倆女患者(都還挺漂亮的)過來辦理出院。系統打印出的單據上顯示:住院6天,但是床位費用收了7天。我們的第一反映就是希望患者能留下電話或者其他聯系方式。做好最后的確認再通知她們過來。就是這樣一個折中的意見惹火了其中一個。大咧著嗓子說:我們住的是400一天的病房。系統打印不是6天嗎?憑什么收7天的錢?承不承認是你們系統錯了?

    無意間,我看到Baijie無奈的抿了一下嘴,但還是自信的說:“我們馬上檢查”系統沒有這個問題。面對這么裸感的質問,我真的感覺心酸這一次算是給我留下了深深的烙印。以后每寫一行代碼的時候可能都會想起

    10分鐘后,問題終于有了答案。是昨天的數據移植把收費日期給弄錯了(27日)應該是28日。所以每一個用戶都多算了一天的床位費用。這個改動很快就被patch到數據庫

    在這里的幾個小時,我總結了一下

    1)    用戶需要快速準確的業務過程(還真碰上了非常急迫的用戶,為了趕飛機該補50掏出100等不急找錢退卡就要走)

    2)    我們的需求,和第一線用戶的想法還有差距,他們的想法更加實用。對系統現在新功能的認可和中肯意見都讓人佩服

    3)    這里的一線用戶都表現了良好的素質和風度。包含著對我們現狀的寬容和理解

     

    鏡頭四

           時間已經是下午200多了,回到信息中心,一些同事在啃面包,吃盒飯,打電話,改程序,頁面測試,數據效驗這時候的我只想找根煙去廁所享受一下。路過研發室,隱約聽見里面討論和不時的笑聲。項目組的老大們和用戶在里面進行上線后的第一次溝通匯報會議。

     

    鏡頭五

           這個鏡頭可能有些偏離物理視線。我們今天大概在2000離開醫院。到這個時候仍然看不到一點笑容,聽不到到一點笑聲,偷偷的幾乎都沒有。不得不承認這真是一只成熟的團隊。這里沒有浮躁,沒有僥幸,沒有自負因為每一個人都清楚的知道,真正的考驗應該是下周一。這個時候才是對系統承受壓力的真正考驗。在這之前,DBA和負責應用服務器的同事得充分估計,做好最后的優化工作。

    鏡頭六

              哎!寫不完,還有很多….比如:Leo和歡哥的故事,經典得很。

    我不敢想象,一天之內能有這么豐富的經歷。時間對于每一個人真的是公平的。

     

    真心的希望我們能一路走好!

    posted @ 2005-10-29 23:16 Goingmm 閱讀(373) | 評論 (14)編輯 收藏

          
           微軟最近每天都在走人,他們到底有多少人?走完了怎么辦?呵呵!這些不是我們能關心的問題。
           到底是利益沖突,還是微軟的企業文化真的混不下去了?
           其實每次看到這樣的消息都會有些感傷。熟不知,“天下無不散之筵席”,離開可能是逃避...可能是更好的開始...
    也可能是一種解脫... 但是我覺得求變的心是勇敢的。因為全世界的人都還在關注著他們
           
           新浪科技訊:美國當地時間10月25日(北京時間10月26日)消息,據國外媒體報道,微軟發言人盧-蓋洛斯(Lou Gellos)對外表示,MSN門戶總經理哈蒂-帕托維(Hadi Partovi)已向公司提出辭呈,并計劃離職后自己創業
           蓋洛斯表示,在微軟找到繼任者之前,帕托維今后數周內仍將替微軟工作。此前微軟出臺了部門重組計劃,其中包括將MSN業務并入Windows部門。在微軟與Netscape進行的瀏覽器大戰過程中,帕托維曾扮演了重要角色。此后他于1999年離開微軟并創辦Tellme通信公司。2002年帕托維重返微軟,并參與創辦MSN Music等新興業務。
           最近數周內,已有數名高管離開了微軟。如wikis發明人Ward Cunningham已離開微軟,加盟一家非盈利性開放源代碼軟件公司。在微軟宣布重組計劃后,Windows產品負責人Jim Allchin也宣布了自己的退休計劃。此前有傳聞稱,微軟Office開發者之一Don Gagne計劃于今年12月離職。對此微軟和Don Gagne尚未發表評論。(明月) 
                                                                                                                      
    摘錄地址:http://tech.sina.com.cn/i/2005-10-26/0715748233.shtml
    posted @ 2005-10-26 23:05 Goingmm 閱讀(242) | 評論 (5)編輯 收藏

    今天已經星期二了嗎?幾乎都忘記了...

    我們作為現場支持的項目就快要上線了。說不緊張是假的。至少,每一個人都不希望自己手上的模塊down在客戶的
    業務流程中。這么大的項目,控制起來的確需要一些功力。能親身經歷也能從中收獲蠻多。想寫出來,但是這會兒整個人
    感覺很累。而且我覺得寫在這個時候有些不合適宜。希望這段時間過了,我還會有興趣來寫下曾經的這份經歷。

           對了。剛才和一個新加坡同事聊天,發現一個奇怪的問題。新加坡應該是用的北京時間。但是QQ的時候我們彼此的
    時間顯示都不正確。這是為什么呢?

     

    Xxx: 12:32:21

    電視天天都在采訪新的CEO。。。。

    todo.goingmm 21:31:09

    SCS 新的CEO

    Xxx: 12:33:31

    嗯。。。陳東海

    todo.goingmm 21:31:42

    新加坡人

    Xxx: 12:33:50

    問他咱個扭虧為盈。

    todo.goingmm 21:31:52

    能聽出他有什么策略嗎?

    Xxx: 12:33:59

    應該是

    Xxx: 12:34:20

    他都說些套話。。。

    todo.goingmm 21:32:35

    他提到  xXXX 沒有呢

    Xxx:  12:34:58

    他問成都的人工那么便宜,為啥子這些項目拖這么久了都不叫成都做。。。

    Xxx:  12:35:10

    你看現在瘋狂的從成都調人過來。。。。

    todo.goingmm 22:00:24

    不過你機器的時間有問題

    Xxx: 13:02:47

    沒的問題哦

    todo.goingmm 22:00:54

     12:35:10

    todo.goingmm 22:00:56

    你看嘛

    Xxx: 13:03:37

    我這里是2203

    Xxx: 13:04:21

    我看你的才7點過呢

    todo.goingmm 22:02:23

    QQ的時間處理有問題

    posted @ 2005-10-25 22:29 Goingmm 閱讀(191) | 評論 (1)編輯 收藏

    都說 夜里的“聽濤”豐富多彩,天上人間,凡人俗事,顛覆睡眠….每天晚上等到凌晨2點,早上睡到天完全變藍。不知道是因為疲倦睡得太死,還是外面真的鴉雀無聲。感覺這邊比成都好睡。我才知道我被騙了

    今天已經是第四天了。準確的說起床時間已經是23號下午。坐在窗臺前一邊吃早餐一邊找尋無線網絡。對面那排空房(幾天了都沒見亮過燈),刺眼的陽光。樓下偶爾能見送水的小工潛意識中想沖出去,要逃離

    在這里的生活其實和坐牢一樣,星期一到星期六出去干活,周末留一天在家里睡覺。能在網絡上遇上兩個朋友,寒暄兩句。有人探視的感覺,美妙

    呵呵!~ 太灰暗了點。 推開玻璃窗,呼吸點新鮮空氣,這種感覺全無了。準備出去找個地方把中午飯解決了。

    posted @ 2005-10-23 13:27 Goingmm 閱讀(255) | 評論 (3)編輯 收藏


        學習Hibernate之前,需要理解 對象持續性和對象-關系映射 的核心問題

      【概念】
            1)Hibernate是一個面向java環境的對象/關系數據庫映射(ORM)工具。
            2)ORM 表示一種技術,用來把對象模型表示的對象映射到基于SQL的關系模型中去。

      【目標】 
           對于開發者通常的數據持久化的編程任務。解放其中的95%,成為Java管理持續性數據問題的一種完整的解決方案
     
      【體現】
          他協調應用與關系數據庫的交互,讓開發者解放出來專注于手中的業務問題。他是一種非強迫性的解決方案

      【運行Hibernate需要的第三方庫】
           dom4j (必需):   Hibernate在解析XML配置和XML映射元文件時需要使用dom4j。
           CGLIB (必需):  Hibernate在運行時使用這個代碼生成庫強化類(與Java反射機制聯合使用)。 
           Commons Collections and Commons Logging (必需): Hibernat使用Apache Jakarta Commons項目提供的多個工具類庫
           ODMG4 (必需) : Hibernate提供了一個可選的ODMG兼容持久化管理界面。如果你需要映射集合,你就需要這個類庫,
                                         就算你不是為了使用ODMG API (注意:為什么在Hibernate 3.0 就沒有這個jar了?)
           Log4j (可選):Log4j 是一款優秀的Debug工具,具體使用方式網絡上有很多介紹

    posted @ 2005-10-22 22:11 Goingmm 閱讀(255) | 評論 (1)編輯 收藏

    僅列出標題
    共6頁: 上一頁 1 2 3 4 5 6 下一頁 
    主站蜘蛛池模板: 在线免费观看污网站| 四虎亚洲国产成人久久精品| 亚洲国产精品成人综合色在线| 免费观看日本污污ww网站一区| 国产精品免费一区二区三区| 亚洲精品91在线| 国产一级特黄高清免费大片| 免费无码又爽又刺激网站直播| 亚洲男人的天堂在线| 免费国产成人午夜电影| 久久午夜夜伦鲁鲁片免费无码| 亚洲精品理论电影在线观看| 自拍偷自拍亚洲精品情侣| 99久久综合国产精品免费| 插鸡网站在线播放免费观看| 亚洲视频无码高清在线| 亚洲日韩精品射精日| 日韩精品免费电影| 一区二区三区观看免费中文视频在线播放 | 亚洲性一级理论片在线观看| 免费一级做a爰片性色毛片| 91短视频在线免费观看| 无码免费又爽又高潮喷水的视频| 亚洲精品成人久久| 亚洲精品成人片在线播放 | 国内精品免费久久影院| 亚洲男人的天堂网站| 亚洲最大福利视频网站| 亚洲国产高清在线一区二区三区| 国产精品久久久久免费a∨| 在线观看特色大片免费网站| 色婷婷亚洲一区二区三区| 亚洲国产模特在线播放| 亚洲AV永久无码精品| 国产亚洲精品不卡在线| 国产91在线免费| 成人免费a级毛片| 最近免费中文字幕mv在线电影| 你是我的城池营垒免费看 | 高清永久免费观看| 无遮挡呻吟娇喘视频免费播放 |