spring多数据源时jndi的配置

    技术2022-05-20  34

    引用:http://hi.baidu.com/lamp_php2007/blog/item/42311a13309c9831dc540138.html

     

    META-INF目录下建一个context.xml文件:

     <?xml version="1.0" encoding="UTF-8"?> <Context>    <Resource name="jndiString_1" auth="Container"             type="javax.sql.DataSource"            maxActive="100"            maxIdle="30"            maxWait="10000"            username="username"            password="passwd"            driverClassName="oracle.jdbc.OracleDriver"            url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName1"/>

        <Resource name="jndiString_2" auth="Container"             type="javax.sql.DataSource"            maxActive="100"            maxIdle="30"            maxWait="10000"            username="username"            password="passwd"            driverClassName="oracle.jdbc.OracleDriver"            url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName2"/>

     </Context>

    上述jndiString 只是一个存在于容器中的标识字符,需要在下面spring配置中引用

     

    spring配置文件spring-core.xml中

        <bean id="jndiString_1" class="java.lang.String">        <constructor-arg>            <value>java:comp/env/jndiString_1</value>        </constructor-arg>    </bean>

        <bean id="jndiString_2" class="java.lang.String">        <constructor-arg>            <value>java:comp/env/jndiString_2</value>        </constructor-arg>    </bean>

     

        <bean id="dataSource1"          class="org.springframework.jndi.JndiObjectFactoryBean"                            singleton="true">        <property name="jndiName">            <ref local="jndiString_1"/>        </property>    </bean>

        <bean id="dataSource2"          class="org.springframework.jndi.JndiObjectFactoryBean"                            singleton="true">        <property name="jndiName">            <ref local="jndiString_2"/>        </property>    </bean>

     

    以上程序启动需要容器支持,如果要进行单元测试 这样配置是跑不起来滴. 单元测试的配置 就直接在spring 里面配一下吧!     <bean id="dataSource"    class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName">            <value>oracle.jdbc.OracleDriver</value>        </property>        <property name="url">            <value>jdbc:oracle:thin:@192.168.1.88:1521:databaseName</value>        </property>        <property name="username">            <value>username</value>        </property>        <property name="password">            <value>passwd</value>        </property>    </bean>


    最新回复(0)