刚开始学JNDI,问个弱弱的问题javax.naming.Context.INITIAL_CONTEXT_FACTORY是什么意思?参数值是固定的吗?
我程序里用的是weblogic.jndi.WLInitialContextFactory,这个是哪儿来的啊?

解决方案 »

  1.   

    API的解释太简单了,还是不明白这个参数值哪儿来的
      

  2.   

    这个和jdbc相似,需要SPI。
    INITIAL_CONTEXT_FACTORY就是注册SPI的类。
      

  3.   

    INITIAL_CONTEXT_FACTORY每种服务器都不一样的,要根据服务器的类型设定
      

  4.   

    可以看一下 Sun 的 JNDI Tutorial 上面可以得到一些东西:http://java.sun.com/products/jndi/tutorial/basics/prepare/initial.html
      

  5.   

    那我是不是就可以理解为其实它的写法是固定的
    针对一种服务就有一种写法
    而对weblogic就是写成weblogic.jndi.WLInitialContextFactory
      

  6.   

    是的,这基本上是固定的,比如:
    JBoss 写成:org.jnp.interfaces.NamingContextFactory
    WebSphere 写成:com.ibm.ejs.ns.jndi.CNInitialContextFactory