在Weblogic+JBuilder7使用時的奇怪問題

來源:互聯網
上載者:User

    一周前,老師讓我們用Java去做項目,說句實話,我對Java真的是一知半解,絕對是個門外漢,無奈,老師的任務不能不完成,只好硬著頭皮去做。
    我們有一個項目叫“資料倉儲”,以前是師兄們做的,採用的是Tomcat做伺服器,JSP+JavaBean做開發。後來老師為了“提高項目的技術含量”,決定改做J2EE版本,我們這裡幾乎沒有人用J2EE做過項目,於是大家就開始到處找資料,下載編譯器,忙得不亦樂乎。
    最終,大家決定使用Oracle9i作資料庫,Weblogic7+JBuilder7作開發環境,原因很簡單Weblogic對J2EE支援的比較好,JBuilder開發環境還不錯,對機器要求不是太高(我們的機子比較差,P3-550+256M記憶體,剛好滿足最低要求:),本來以為很簡單的配置,很容易就會搞定,但是結果卻讓人大吃一驚。
    按照培訓資料上面說的,一步步裝好了Weblogic7,測試console,通過,然後再按照說明把JBuilder7也裝上,並按照順序配置好了,大致流程如下:
    Weblogic和JBuilder7整合後,經過配置,做出的Session Bean是好的,說明配置正確。
    然後測試實體Bean:
    1、設定Oracle9i的驅動:
       在JBuilder7中,Tools-->Enterprise Setup...-->Database Driver,點擊Add,選擇Oracle的位置D:/Oracle/Ora91/jdbc/lib/classes12.zip,確定後,驅動在列表中出現,然後重新啟動JBuilder
    2、建立工程Demo,然後建立一個EJB Module 取名Hustli,然後匯入資料庫Schema資訊。
    3、輸入資料庫的串連資訊:我採用的是別人的機器上的oracle9,機器名是flyers,SID=daito,具體資訊如下:
       Driver: oracle.jdbc.driver.OracleDriver
       URL:    jdbc:oracle:thin:@flyers:1521:daito      
       user=daito password=daito
       JNDI NAME : DataSource
    4、成功後,建立CMP EJB,輸入EJB資訊,其中interface採用的是remote
    5、配置Weblogic中JDBC Pool和Data Source:
       JDBC Pool:
    Name: Pool
       URL:  jdbc:oracle:thin:@flyers:1521:daito
       Properties: user=daito
       Password: daito
       Initial Capacity: 5
       Maximum Capacity:10
       Test Table Name: hustli(我建的一個表)
       在Targets裡面加入myserver,其餘採用預設配置。
     
    Data Source:
       Name: DataSource
       JNDI Name:DataSource
       Pool Name:Pool
       在Targets裡面加入myserver,其餘採用預設配置
    然後重新啟動weblogic的設定頁面,成功
  6、對EJB打包,deploy成功。
  7、利用JBuilder7自動產生測試程式,改動main函數如下:
    public static void main(String[] args)
        {
                try
                {
                        Client client = new Client();

                        HustliRemoteHome home=client.getHome();
                        HustliRemote r=home.findByPrimaryKey("jjli");
                        System.out.println(r.getAge());
                }
                catch (RemoteException ex)
                {
                        ex.printStackTrace();
                }
                catch(FinderException e)
                {
                        e.printStackTrace();
                }
        }
       結果出現錯誤,在Object ref = ctx.lookup("HustliRemote");(自動產生的)
    錯誤如下:
    javax.naming.NameNotFoundException: Unable to resolve 'HustliRemote' Resolved: '' Unresolved:'HustliRemote' ; remaining name 'HustliRemote'
    後來這個問題也在各位師兄的機器上出現,毫無例外。
    對於這個問題,大家討論了半天也沒有解決,於是各自分頭散去,大家靜下心來,把各種資訊自信的研究了,發現有一個共同點:在程式編譯的時候,有一個警告,大家開始沒有注意,後來就都注意到這個問題了,警告大致的意思是:臨時檔案目錄有空格,可能導致致命的錯誤。
    但是我們發現系統的環境變數裡面的確有2各設定:TEMP和TMP,但是在使用者變數裡面一個、系統變數裡面一個,按照我的觀點,編譯器應該先搜尋系統變數裡面的,系統變數裡面的值是C:/WINNT/TEMP,這應該沒有什麼問題,於是我們在C盤建了一個目錄,名字叫Temp,並且把使用者變數裡面的TEMP和TMP的值都設定為C:/Temp,然後儲存,啟動JBuilder7,一切OK!
    這個問題,看來是不是很BT?我很奇怪為什麼JBuider會先找使用者變數?
  
    如果上面的問題不叫問題,那是我們沒有注意警告,下面的問題就太讓人鬱悶了。
    Weblogic+JBuilder裝好了之後,運行了2天,然後為了殺毒,我又裝上了幾個殺毒軟體,開始全盤掃描硬碟,使用LoveGate居然殺到了幾個病毒,然後把感染的檔案全部刪除,重新啟動機器,然後做了點別的事情,就把這件事情給忘掉了,等到明天啟動JBuilder,不幸的事情發生了,deploy組件的時候,發現報錯:無法串連t3:/localhost:7001。
    這豈不是怪事?我的伺服器明明開著的,一點異常的表現都沒有,然後我關掉JBuilder,用Weblogic控制台開啟伺服器,運行良好,結果當在地址欄裡輸入:http://localhost:7001時,居然找不到串連。
    開始我懷疑是weblogic出了問題,然後卸載了weblogic重新安裝,問題依舊,最後把weblogic和JBuilder一起卸掉,重新裝,問題依然頑固的出現在我面前,究竟是怎麼了?難道是殺毒的時候把重要的檔案刪除了?沒有辦法,只好重新格式化硬碟,重新裝了系統,首先把weblogic裝上,運行良好,裝上JBuilder,配置完畢,一切都沒有任何問題,然後把一系列的軟體裝上,自然也裝了殺毒的KV3000,然後運行JBuilder,那個奇怪的問題又出現了!!!!
    為瞭解決問題,我決定把安裝的軟體一個個的卸載,最後發現,如果卸載了KV3000,JBuilder就沒有任何問題,否則,只要開啟即時監測,就無法運行JBuilder7。
     沒有辦法,只好把KV3000卸載。個人懷疑是不是KV3000對Java的運行進行監視,然後當作病毒殺掉,當然這隻是猜測,如果有那位高手能夠指點一二,不勝感激。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.