不可以!weblogic服务里面不存在,你怎么通过weblogic.xml里面的名字指向?
产品相关的东西一定要在其产品里面配置好

解决方案 »

  1.   

    比如我配之了一个connection pool ,之后配置了一个datasource,之后可以再weblogic中的jndi树看到了,这个您说的对应的weblogic.xml配置文件再哪里啊?(我还只是配置了一下子weblogic,没有发布任何ejb的)
      

  2.   

    一、如果你做web应用开发,weblogic作部署工具,在WEB-INF目录下会有web.xml和weblogic.xml两个web应用描述文件。
    在web.xml里面你需要添加jndi环境描述配置:
      <resource-ref>
        <res-ref-name>jdbc/student</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    用于映射weblogic.xml里面的jndi环境映射配置
      <reference-descriptor>
         <resource-description>
    <res-ref-name>jdbc/student</res-ref-name>   <!--对应上面的jdbc/student-->
    <jndi-name>jdbc/db_student</jndi-name>   <!--对应真实的weblogic树里面的datasource的jndi名字-->
         </resource-description>
      </reference-descriptor>
    而你的程序web程序里面需要用一下语句寻找datasource:
      DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/student");
    二、当然不论web应用还是java应用都可以用以下语句直接查找DS源
        Properties jndiEnv = new Properties();
        jndiEnv.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                            "weblogic.jndi.WLInitialContextFactory");
        jndiEnv.setProperty(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
        Context ctx = new InitialContext(jndiEnv);
        DataSource ds = (DataSource)ctx.lookup("jdbc/db_student");
        //对应真实的weblogic树里面的datasource的jndi名字:jdbc/db_