这一段时间在学习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
新闻热点
疑难解答