最近遇到個很奇怪的問題.就是頁面顯示不完整.
以前用的是ConnectionPool,使用沒問題,就是連接老釋放不了.
後來改用了Tomcat的數據源,大部分頁面都挺好,只有部分頁面顯示不完整.
然後我把那些有問題的頁面不用數據源,改用ConnectionPool,又可以顯示了.
難道ConnectionPool獲得的connection和Tomcat數據源獲得的不一樣嗎?
而且奇怪的是那些問題頁面顯示的內容似乎是定長的.
比方說我的網頁中有一行是12345678
改用數據源后顯示到1234就完了,後面就沒了
把1234刪除后,5678就顯示出來.
這個問題搞的我快瘋了.

解决方案 »

  1.   

    <Context path="/cpadmin" docBase="cpadmin" debug="0" reloadable="false" crossContext="true">
      <Resource name="cpadmin" auth="Container" type="javax.sql.DataSource"/>
    <ResourceParams name="cpadmin">
      <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
    <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>
      <parameter>
    <name>url</name>
    <value>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.194.168.52)(PORT=1526)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=sfcweb)))</value>
      </parameter>
      <parameter>
    <name>username</name>
    <value>cpadmin</value>
      </parameter>
      <parameter>
    <name>password</name>
    <value>admincp</value>
      </parameter>
      <parameter>
    <name>maxActive</name>
    <value>50</value>
      </parameter>
      <parameter>
    <name>maxIdle</name>
    <value>40</value>
      </parameter>
      <parameter>
    <name>maxWait</name>
    <value>5000</value>
      </parameter>
      <parameter>
            <name>removeAbandoned</name>
            <value>true</value>
          </parameter>
           <parameter>
            <name>logAbandoned</name>
            <value>true</value>
          </parameter>
          <parameter>
            <name>removeAbandonedTimeout</name>
            <value>60</value>
          </parameter>
    </ResourceParams>
      </Context>
    這個是數據源的配置.
    代碼無關緊要吧.
    我剛才試了一下,不論我怎么改,最後顯示出來的源文件的字符個數永遠都是8195個.
      

  2.   

    <Context path="/lottery" docBase="lottery" debug="0" reloadable="true" crossContext="true"><Resource name="jdbc/toni" auth="Container" type="javax.sql.DataSource"/><ResourceParams name="jdbc/toni"> <parameter>  <name>maxActive</name>  <!-- Maximum number of DB connections in pool.Set to 0 for no limit. -->  <value>10</value> </parameter>把数值改改 <parameter>  <name>maxIdle</name>  <!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit. -->  <value>5</value> </parameter> <parameter>  <name>maxWait</name>  <!-- Maximum time to wait for a DB connection to become available in ms.An exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely. -->  <value>10000</value> </parameter> <parameter>  <name>removeAbandoned</name>  <!-- Abandoned DB connections are removed and recycled -->  <value>true</value> </parameter> <parameter>  <name>removeAbandonedTimeout</name>  <!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned.  -->  <value>60</value> </parameter> <parameter>  <name>username</name>  <!-- Database User Name -->  <value>scott</value> </parameter> <parameter>  <name>password</name>  <!-- User Password -->  <value>tiger</value> </parameter> <parameter>  <name>driverClassName</name>  <!-- Database Driver Class Name -->  <value>oracle.jdbc.driver.OracleDriver</value> </parameter> <parameter>  <name>url</name>  <!-- Database Address -->  <value>jdbc:oracle:thin:@127.0.0.1:1521:toni</value> </parameter></ResourceParams></Context>