yali_wang 发表于 2013-1-25 21:35:42

数据源的一些小问题

去年毕业的,在以前公司工作的时候
用的各种框架,太混乱了
数据源是也是直接配置的
来到新公司,有点东西先记下来
写项目的时候测试的时候用的tomcat,数据源可以配置在tomcat的service.xml ,context.xml中
还有一种可以直接配置在web项目中,在META-INF下新建context .xml,在里面配置如下:
-------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Context  debug="0"
          path="/sinoiaca"
          reload="true">
    <Resource name="DataSource"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="com.ibm.db2.jcc.DB2Driver"
              url="jdbc:db2://192.168.1.32:50000/iaca_kf"
              username="instiaci"
              password="password"
              maxIdle="30"
              maxWait="10000"
              maxActive="100"/>
</Context>
另外在项目下的web.xml中配置如下:
---------------------------------------------------------
<resource-ref id="ResourceRef_20090831">
  <description></description>
  <res-ref-name>SinoiacaDataSource</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Application</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
 </resource-ref>
当发布到tomcat的时候,tomcat会自动加载数据源
 
而当发布到was的时候,公司使用的在dbmanager-config.xml中配置JNDI,
而在was上配置JNDI以及数据源,在AppConst中配置SINOIACA_DATASOURCE_JNDI;底层的访问都已经封装,在程序启动的时候就会初始化这些参数,在查询数据库的时使用:dbManager.open(AppConst.SINOIACA_DATASOURCE_JNDI);连接数据库
当打成war包发布到was上即可使用,部分配置如下:
.xml:
--------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<datasource-defines>
 <datasource-define>
     <name>sinoiacaDataSource</name>
     <jndiname>java:comp/env/SinoiacaDataSource</jndiname>
     <db-to-server-encode-charset>GBK</db-to-server-encode-charset>
     <db-to-server-decode-charset>GBK</db-to-server-decode-charset>
     <need-convert-from-db-to-server>false</need-convert-from-db-to-server>
     <server-to-db-encode-charset>GBK</server-to-db-encode-charset>
     <server-to-db-decode-charset>GBK</server-to-db-decode-charset>
     <need-convert-from-server-to-db>true</need-convert-from-server-to-db>
  <description>visa datasource define.if encode equals decode ,the need convert will auto set false </description>
 </datasource-define>
</datasource-defines>
 
页: [1]
查看完整版本: 数据源的一些小问题