這一段時間在學習j2ee&ejb,我最感興趣的還是做jdbc的ejb,但是由于我手頭上沒有j2ee默認的cloudscape,也不敢裝oracle,我的機器太次,跑j2ee已是滿負荷運轉,絕不能再加大家伙!因此我想繼續使用小巧玲瓏的mysql。
首先當然是系統環境軟件的安裝,我就不多說了,在下面我給出了幾種軟件的下載地址。需要特別強調的是,請一定要注意你安裝的mysql的版本,我們平常用的大都是“mysql-shareware-3.22.30-win”這個版本,但j2ee需要3.23.15以上的mysql,這個是我花費大半天時間得到的教訓。
經我的多次實驗,j2ee的配置文件default properties中應按如下設置:
jdbc.drivers=org.gjt.mm.mysql.driver
jdbc.datasources=jdbc/testdb|jdbc:mysql://localhost:3306/test?user=jian&password=jian
以上語句很簡單,用過mysql的jdbc driver的人一看就明,所要注意的是其中的“jdbc/testdb”實際上就是jndi用來標識該數據庫的名字。
在ejb中調用就很簡單了:
datasource ds = (datasource) ic.lookup("jdbc/testdb");
其實配置正確后回過頭來再看,覺得真是很簡單,但正是正確之前的一段摸索歷程耗費了我很多的精力,所謂黎明前的黑暗吧。
從我使用的情況來看,這個版本的j2ee的錯誤提示機制特差,看上去不知所云,而且并不穩定,比如用它的裝配工具生成的jar包,雖然可用,但每次總被系統彈出窗口警告說是“無效的windows nt映像”,弄得煩不勝煩,還有,明明按我上述配置已經能順利運行連接mysql的ejb,但error.log和dos窗口總是會記載說“cannot find principal mapping information for data source with jndi name jdbc/testdb”。不過雖然有警告和錯誤日志記載,但只要你程序能夠順利地運行,盡可不去理會那么多,畢竟,j2ee還只是一個新生事物,沒有經過長時間廣范圍的評測和使用。
運行環境:
j2ee: javatm 2 sdk, enterprise edition version 1.2.1
jdk: j2sdk1.3.0
mysql: mysql-3.23.23-beta-win
driver: mm.mysql-2.0.2
新聞熱點
疑難解答