• java:comp/env/jdbc/ 的两种配置方法


    1. 在 META-INF 下建立文件: context.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <Context> 
    	<Resource auth="Container" delegateProperties="foo=bar" 
    			  factory="org.logicalcobwebs.proxool.ProxoolDataSource" name="jdbc/xxxDB" password="xxxx" 
    			  proxool.alias="proxool_juncsoftDB" proxool.driver-class="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
    			  proxool.driver-url="jdbc:sqlserver://localhost;integratedSecurity=true;DatabaseName=Kxxxjuxxxcsoft" 
    			  proxool.house-keeping-sleep-time="600000" proxool.maximum-connection-count="30" 
    			  proxool.minimun-connection-count="8" proxool.prototype-count="5" 
    			  type="javax.sql.DataSource" user="BRAMFCQF3Q9OQ5HAdministrator"/>
    </Context> 
    

    然后 在 hibernate就可以引用:

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
    <session-factory>
        
        <property name="connection.datasource">java:comp/env/jdbc/juncsoftDB</property>
        
        <property name="dialect">
            org.hibernate.dialect.SQLServerDialect
        </property>
        <property name="connection.datasource">java:comp/env/jdbc/xxxDB</property>

    这样就可以 根据 jndi 找到 context.xml 中配置的 数据库连接信息。其实起到了一个 间接 的 隔离 的效果。

    2. 在Tomcat的server.xml 文件中 <Host> 元素下 加入:

              <Context antiJARLocking="false" antiResourceLocking="false" cookies="true" crossContext="true" docBase="xxxx" path="/xxxx" privileged="true" reloadable="true" source="org.eclipse.jst.j2ee.server:xxxx">
                
                <Resource auth="Container" delegateProperties="foo=bar" factory="org.logicalcobwebs.proxool.ProxoolDataSource" name="jdbc/xxxDB" password="digdeep" proxool.alias="proxool_xxxxDB" proxool.driver-class="com.microsoft.sqlserver.jdbc.SQLServerDriver" proxool.driver-url="jdbc:sqlserver://localhost;integratedSecurity=true;DatabaseName=xxxxsoft" proxool.house-keeping-sleep-time="600000" proxool.maximum-connection-count="10" proxool.minimun-connection-count="8" proxool.prototype-count="5" type="javax.sql.DataSource" user="xxxAdministrator"/>
    
            </Context>

    这里采用了 windows 认证的登录sql server的方式。

    但是直接修改 tomcat 中的 server.xml 会被 eclipse 在发布时,所覆盖。所以我们应该修改 eclipse 中的 Server 中 server.xml 。发布时,eclipse 会使用自己的 Server 中的 server.xml 覆盖tomcat中的server.xml文件。

    个人推荐在开发时推荐第一种方式,因为不会影响eclipse中的其他的项目。

  • 相关阅读:
    九宫幻方
    K倍区间
    Excel地址
    2的n次幂
    最小乘积(基本型)
    基础练习 十六进制转八进
    java分析工具系列3:jstat (用于收集虚拟机个方面的运行数据)
    java分析工具系列2:jps(显示指定系统内所有的虚拟机进程)
    java分析工具系列1:入门
    oracle系列5:权限管理
  • 原文地址:https://www.cnblogs.com/digdeep/p/5371152.html
Copyright © 2020-2023  润新知