tomcate连接池

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} -->

context.xml 中的配置

 

<Context path="/DBTest" docBase="DBTest" 

        debug="5" reloadable="true" crossContext="true"> 

  <! —注意到这里的 DBTest 了吧,这就是要求大家建立 DBTest 目录的原因。 -->  

  

  <Logger className="org.apache.catalina.logger.FileLogger" 

             prefix="localhost_DBTest_log." suffix=".txt" 

             timestamp="true"/>  

  

  <Resource name="jdbc/TestDB" 

               auth="Container" 

               type="javax.sql.DataSource"/> 

  <ResourceParams name="jdbc/TestDB"> 

    <parameter> 

      <name>factory</name> 

      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 

    </parameter>  

  

    <!-- Maximum number of dB connections in pool. Make sure you 

         configure your mysqld max_connections large enough to handle 

          all of your db connections. Set to 0 for no limit. 

         --> 

    <parameter> 

      <name>maxActive</name> 

      <value>100</value> 

    </parameter>  

  

    <!-- Maximum number of idle dB connections to retain in pool. 

         Set to 0 for no limit. 

         --> 

    <parameter> 

      <name>maxIdle</name> 

      <value>30</value> 

    </parameter>  

  

    <!-- Maximum time to wait for a dB connection to become available 

         in ms, in this example 10 seconds. An Exception is thrown if 

         this timeout is exceeded.  Set to -1 to wait indefinitely. 

         --> 

    <parameter> 

      <name>maxWait</name> 

      <value>10000</value> 

    </parameter>  

  

    <!-- MySQL dB username and password for dB connections  --> 

    <parameter> 

     <name>username</name> 

     <value>javauser</value> 

  <! —数据库用户名 -->  

  

    </parameter> 

    <parameter> 

     <name>password</name> 

     <value>javadude</value> 

  <! —数据库密码 --> 

    </parameter> 

    <!-- Class name for the old mm.mysql JDBC driver - uncomment this entry and comment next 

         if you want to use this driver - we recommend using Connector/J though 

    <parameter> 

       <name>driverClassName</name> 

       <value>org.gjt.mm.mysql.Driver</value> 

  </parameter> 

  这里面是被注释的,因为以前连接 mysql 是这样连接的,现在建议用下面的方法,自己可以看到。  

     --> 

     

    <!-- Class name for the official MySQL Connector/J driver --> 

    <parameter> 

       <name>driverClassName</name> 

       <value>com.mysql.jdbc.Driver</value> 

    </parameter> 

     

    <!-- The JDBC connection url for connecting to your MySQL dB. 

         The autoReconnect=true argument to the url makes sure that the 

         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the 

         connection.  mysqld by default closes idle connections after 8 hours. 

         --> 

    <parameter> 

      <name>url</name> 

      <value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value> 

  <!-- 这是数据库的地址,也可以不要这么繁琐,改为  

  jdbc:mysql://localhost/javatest 即可 ,javatest 为数据库名 --> 

    </parameter> 

  </ResourceParams> 

  </Context>

 

 

 

web.xml 中的配置

<?xml version="1.0" encoding="ISO-8859-1"?> 

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  version="2.4"> 

  <description>MySQL Test App</description> 

  <resource-ref> 

     <description>DB Connection</description> 

     <res-ref-name>jdbc/TestDB</res-ref-name> 

     <res-type>javax.sql.DataSource</res-type> 

      <res-auth>Container</res-auth> 

  </resource-ref> 

</web-app> 

 

java 中使用的代码

 

try 

  { 

  Context initCtx=new InitialContext(); 

  DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/TestDB"); 

  Connection conn=ds.getConnection(); 

  out.println("data from database:<br>"); 

  Statement stmt=conn.createStatement(); 

  ResultSet rs =stmt.executeQuery("select id, foo, bar from testdata"); 

  while(rs.next()) 

  { 

  out.println(rs.getInt("id")); 

  out.println(rs.getString("foo")); 

  out.println(rs.getString("bar")); 

  } 

  rs.close(); 

  stmt.close(); 

  } 

  catch(Exception e) 

  { 

  e.printStackTrace(); 

  } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat连接池是**从Tomcat 7版本开始引入的一个高性能的数据库连接池**。下面将具体介绍查看Tomcat连接池的方法: 1. **通过配置文件查看:** - Tomcat的数据源可以在`context.xml`或`server.xml`文件中进行配置,通过查看这些文件可以获得连接池的设置信息。 - 在虚拟主机的配置文件中,也可能对连接池进行了特定的设置,这同样需要检查以获取完整的配置信息。 2. **通过管理页面查看:** - 如果启用了Tomcat的管理页面,可以通过访问`http://localhost:8080/manager/status`来查看服务器的状态,包括连接池信息。 - Tomcat管理页面提供的连接池信息可能包括:当前活跃的连接数、空闲的连接数等。 3. **通过JMX查看:** - Tomcat 提供了一个JMX(Java Management Extensions)接口,可以远程监控和管理Tomcat的各项参数,包括连接池状态。 - 使用支持JMX的工具如JConsole或VisualVM等,可以连接Tomcat的JMX接口,实时查看和调整连接池的配置。 4. **通过日志文件查看:** - Tomcat的日志文件(通常是`catalina.out`)可能会记录与连接池相关的信息,例如连接的打开和关闭。 - 通过分析日志文件,可以了解连接池在实际运行中的行为模式及可能存在的问题。 5. **通过命令行工具查看:** - 可以使用操作系统提供的命令行工具,如Linux的`ps`或`netstat`命令,来查看Tomcat进程的网络连接情况。 - 这类工具虽然不直接显示连接池的状态,但可以间接反映连接池的使用情况。 6. **第三方监控工具:** - 市面上有许多第三方的应用服务器监控工具,如New Relic、AppDynamics等,它们提供了更全面的监控能力,包括对连接池的监控。 - 这些工具通常提供图形化界面,帮助用户更直观地理解连接池的使用情况和性能指标。 7. **编写简单的测试程序:** - 可以通过编写简单的Java程序,使用JNDI查找数据源,并打印出连接池的相关属性和当前状态。 - 这种方法可以灵活地获取和展示连接池的信息,便于开发人员进行调试和分析。 此外,在了解以上内容后,以下还有一些其他建议: - 在使用连接池时,需要注意合理设置连接池的大小和其他参数,以适应不同的应用需求和负载情况。 - 定期检查连接池的健康状态,例如是否有泄漏的连接或者连接是否得到有效的复用。 - 考虑使用连接池自带的监控功能或集成第三方监控工具,以便更好地监控和管理连接池。 总的来说,查看Tomcat连接池的方法主要包括通过配置文件、管理页面、JMX、日志文件、命令行工具、第三方监控工具以及编写简单的测试程序等方式。每种方法都有其特点和适用场景,用户可以根据自己的需求和环境选择合适的方法来进行查看。同时,合理配置和维护连接池对于保证应用的稳定性和性能是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值