zoukankan      html  css  js  c++  java
  • JavaEE 中无用技术之 JNDI

        抛开一大堆技术名词,JNDI 本质是把一些环境变量配置参数放在一起集中维护,或者把可以远程调用的 Java 对象,放在一起集中维护。

        其优点是:

    a. 分工更专业,可以让一个人管理多个系统的相同的部分,比如数据库连接池配置参数。

    b. 其它的优点,没有了。

        早期的 EJB 有个“EJB 装配者”的角色,这种实际的工作模式,也许只有 Sun 公司才会有,其它大部分公司都不会有此类角色----大部分公司,都是小型公司,人员分工没有这么细,很多IT系统,连接池参数的调整,是由开发人员完成。

        JNDI 也陷入了类似的角色分工问题:很多公司的角色分工与 Sun 公司不一样,Sun 把一个角色分工问题,引入到技术层面,可以想象,问题是很大的。

        JNDI 集中维护,带来一个风险,那就是,单点故障风险。

        假设我有10个IT系统,都用到 JNDI , 如果运行 JNDI 的服务器瘫痪,那么我这10个IT系统都不能正常工作,影响太大了。稍微有点头脑的人,都会立即想到:分散风险,每个IT系统的服务器,在同一台计算机上运行 JNDI服务。这样问题就来了:还要 JNDI 做什么?

        JNDI 刚开始出现的时候,使用 JNDI 有一个特别的目的:有 JNDI 功能支持的 Java EE 服务器,带有连接池。用了 JNDI 就用了连接池。然后,很快 Apache DBCP 和 BoneCP 等独立的数据库连接池组件出现了。如果我用 DBCP ,把数据库连接参数写在环境变量中,数据库连接池参数写在初始化代码处,相比 JNDI 而言,有什么不好么?没有。

        结论:JNDI 无用。

    ---------欢迎大家下载试用我们的 web 单点登录系统, http://zheguisoft.com

  • 相关阅读:
    大数据处理系列之(二)系统过载保护
    大数据处理系列之(一)Java线程池使用
    js实现递归菜单无限层
    treeTable实现排序
    spring-dm 一个简单的实例
    Equinox OSGi服务器应用程序的配置步骤 (支持JSP页面)
    Spring DM 2.0 环境配置 解决Log4j问题
    Spring.DM web开发环境搭建
    STL容器的排序
    排序例子
  • 原文地址:https://www.cnblogs.com/jacklondon/p/2393852.html
Copyright © 2011-2022 走看看