项目由OC4J 9i升级到OC4J10g

最近项目eJMS需要由oc4j 9i 升级到10g,相应的jdk由1.31 升级为1.5

项目没有使用什么架构,纯粹是Java Bean + JSP编写。

由于JDK 1.31允许将Java Bean直接放在default package下,而JDK1.42以上必须使用package

所以升级工作的第一步就是将class移植到一个package中,早期项目的文件比较乱,所以在做这一步的同时也按照一般web project的规范,将编译后的Java class放进WEB-INF/classes当中。

 

第二步就是测试,由于对OC4J不熟悉,所以不敢直接打包然后部署到OC4J 10g上,于是就选择tomcat

开始的时候使用tomcat5.0,后来发现tomcat 5.0只支持到JDK1.42,配置好数据源之后不断出现Naming Exception,后来改换tomcat5.5就没有出现这个问题了,连接数据源成功。

使用tomcat配置data source的时候发现,5.0跟5.5有一定的差别,http://ben-sin.iteye.com/blog/186080里面有详细描述。

 

tomcat里面测试完后,开始部署到OC4J 10g上面测试了

但是出现难题了,OC4J怎样配置数据源?直接修改config下的data-source.xml文件,换来的结果就是console就进不去了,于是在网上搜索之后发现OC4J在console有一个叫管理tabpage的地方提供了这样的接口

>>选择部署的服务器-管理tabpage-服务-jdbc

进入去之后可以有两个列表,一个是datasource,另外一个是connection pool

这里首先配置connection pool,新建一个之后发现使用URL配置连接不上,后来改用从连接信息生成URL,填上需要的参数之后测试成功了,

然后配置data source, 选择新建,受管数据源,填上名称,jndi,选择连接池,timeout,完成就ok,测试也成功

 

准备工夫做好之后就开始部署web application了,部署很顺利,最后测试

发现提示连接数据库出错,比较了数据源地jndi和class里面使用到的jndi配置,发现两个没有什么不同

后来才发现当我读取jndi的时候实际上使用了java:env/comp/jdbc/pooled_ejms10g,这个在tomcat没有问题,因为tomcat时使用jdbc连接,而OC4J有专用的连接库,所以就无需java:env/comp/了,直接使用jdbc/pooled_ejms10g。

rebuild application, 部署,测试,连接成功。粗略地测试了一下页面,基本上没有什么异常。

 

看看表已经下午6点半了,明天再做一个详细的测试。

这几天一直担心的问题终于接近尾声了,晚上可以睡个安乐觉了,哈哈。。。

你可能感兴趣的:(tomcat,bean,jdbc,配置管理,项目管理)