Web项目中Junitc测试如何添加JNDI

Spring配置文件其中一行定义如下:

     <bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
      	<property name="jndiName" value="java:comp/env/jdbc/CLS3_ONLINE"/>
    </bean> 

这里数据库连接调用Tomcat进行数据库的配置和管理,但是我们在单元测试中是无法调用tomcat的,所以添加如下代码设置JNDI:

        System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                "org.apache.naming.java.javaURLContextFactory");
        System.setProperty(Context.URL_PKG_PREFIXES,"org.apache.naming");
        InitialContext  ic = new InitialContext();
        OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
        ocpds.setURL("jdbc:oracle:thin:@ux207ntn.hpf.gov.hk:1562/u01cls3");
        ocpds.setUser("CLS3");
        ocpds.setPassword("abcd1234");

        ic.createSubcontext("java:");
        ic.createSubcontext("java:comp");
        ic.createSubcontext("java:comp/env");
        ic.createSubcontext("java:comp/env/jdbc");
        ic.bind("java:comp/env/jdbc/CLS3_ONLINE", ocpds);      

同时将org.apache.naming这个jar包导入项目

posted @ 2020-09-08 09:49  LinM狂想曲  阅读(314)  评论(0编辑  收藏  举报