首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

在Tomcat5.0.28 跟5.5.15 配置JNDI数据源

2012-10-25 
在Tomcat5.0.28 和5.5.15 配置JNDI数据源在Tomcat5.0.28 和5.5.15 配置JNDI数据源本文摘自chnic同志的博客

在Tomcat5.0.28 和5.5.15 配置JNDI数据源
在Tomcat5.0.28 和5.5.15 配置JNDI数据源

本文摘自chnic同志的博客文章:http://chnic.iteye.com/blog/148127,特此声明。

?

关键字: tomcat jndi datasource 数据源

    <Resource name="jdbc/mysql" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/mysql"> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>password</name> <value>root</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/test</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> <parameter> <name>username</name> <value>root</value> </parameter> </ResourceParams>?

    就此配置完成,若是觉得进入admin页面配置麻烦也可以把上面的那段XML直接粘贴到 %Tomcat%\conf\Catalina\localhost? 目录下相对应的工程xml里。接下来我们用程序测试。

    ?

      Context context = new InitialContext(); DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/mysql"); Connection conn = ds.getConnection(); System.out.println(conn); ?

      控制台会显示一个Mysql的连接,说明配置成功。关于JNDI的路径 java:comp/env/jdbc/mysql 不明白的人可以去参阅相关的资料,在此就不多说,不过还是要啰唆一句:其实把JNDI想像成为一个xml文件即可,JNDI就相当XPath。

      Tomcat 5.5.15

      ?Tomcat 5.5需要JDK 1.5支持。安装完毕之后把Admin的管理插件也安装上。可以在Apache的网站上下到Admin的插件,文件名apache-tomcat-5.5.25-admin.zip。一切做完之后第一步还是把驱动文件拷到%Tomcat%\common\lib下。之后进入admin页面。这次我们配置全局的JNDI数据源也就是这个数据源可以被所有工程共享。选择Resources-> Data Sources 节点,创建一个JNDI Data Source。填入相应的数据,保存提交。这个时候在%Tomcat%\conf下的server.xml中会多出如下内容。

      ?

        <Resource name="jdbc/mysql" type="javax.sql.DataSource" password="root" driverClassName="com.mysql.jdbc.Driver" maxIdle="2" maxWait="5000" username="root" url="jdbc:mysql://localhost:3306/test" maxActive="4"/> ?

        观察后能发现5.5和5.0生成的配置文件并不一样。拷贝这段xml代码然后将其保存至同目录的context.xml文件的Context节点下。重新启动Tomcat并用测试代码测试,发现也可以得到连接。
        这个时候我们发现我们的测试代码并没有改一行一句,数据库的改变对上层程序完全是透明的。JNDI使得上层的程序不必关注一些顶层的配置,使得配置和程序彻底解耦。这就是JNDI的一大益处。

        看来解耦合在J2EE中无处不在

热点排行