zoukankan      html  css  js  c++  java
  • 对JNDI数据源的理解

    一:JNDI数据源的作用

    1:在没有使用JNDI数据源时,程序员开发访问MySQL数据库的应用,需要将一个对 MySQL JDBC 驱动程序类的引用进行硬编码,并通过使用适当的 JDBC URL 连接到数据库;这样一来会出现以下问题:

    (1)数据库服务器名称、用户名和口令都可能需要改变,由此引发JDBC URL需要修改;
    (2)数据库可能改用别的产品,如改用DB2或者Oracle,引发JDBC驱动程序包和类名需要修改;
    (3)随着实际使用终端的增加,原配置的连接池参数可能需要调整;                                                                                                 ……

    2:使用了JNDI数据源后,把以上这些问题交给J2EE容器来配置和管理,程序员只需要在应用程序中对这些配置和管理进行引用即可。也就是在J2EE容器中配置JNDI参数(也就是JDBC引用参数),定义一个JNDI数据源;再给这个JNDI数据源设置一个名称;然后在程序中,通过数据源名称引用JNDI数据源从而访问后台数据库。

    二:对JNDI数据源的理解(依照下图进行描述)

                                                  

    1:在J2EE容器内配置JNDI数据源(J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现),将要链接的数据库的相关信息配置到JNDI中即可配置成JNDI数据源;也就是由应用服务器来管理数据源;

    2:应用程序不再关心访问哪个数据库,以及数据库的具体配置信息;

    3:当应用程序要访问数据库时,需要从JNDI中查找数据源,然后再执行数据访问操作;即JNDI充当了数据库和应用程序之间的交换机;

    4:具体在JNDI中如何配置数据源,请看这篇文章,待定

    三:与不使用JNDI数据源时的示意图对比

    1:下图是不使用JNDI数据源时的数据源配置情况;

    2:需要在应用程序内部配置数据库连接参数,即数据源;

    3:配置的数据源可以是数据源连接池,也可以是非池数据源;但是在生产环境下,建议使用数据源连接池;

    4:配置数据源连接池时,可以使用DBCP、C3P0等;配置非池数据源时,可以使用spring自带的数据源;

                                                    

  • 相关阅读:
    RN-Android构建失败:Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'AwesomeProject'.
    Android更新包下载成功后不出现安装界面
    真机调试: The application could not be installed: INSTALL_FAILED_TEST_ONLY
    react native 屏幕尺寸转换
    Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
    React Native安卓真机调试
    git提交代码报错Permission denied, please try again
    The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
    命令行设置快捷命令
    Linux 常用指令
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302438.html
Copyright © 2011-2022 走看看