【问题标题】:Is the factory attribute for tomcat's server.xml required?需要tomcat的server.xml的工厂属性吗?
【发布时间】:2011-06-14 14:50:32
【问题描述】:

我在 tomcat 中阅读了有关 JNDI 的更多信息,并且从多个资源中阅读了工厂属性是必需的。他们说它通常应该是“org.apache.tomcat.jdbc.pool.DataSourceFactory”。然而,我经常看到这样的事情 -

 <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/javatest"/>

那么在这种情况下,tomcat 做了什么?它是否默认为“org.apache.tomcat.jdbc.pool.DataSourceFactory”?

【问题讨论】:

标签: java tomcat jndi apache-commons-dbcp


【解决方案1】:

org.apache.tomcat.jdbc.pool.DataSourceFactory 不是默认工厂。它是新的 Tomcat 7.0 内置 high-performance connection pool,它应该替换默认的 DBCP。

默认工厂是org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory。另请参阅JNDI resources HOW TO。该属性确实不是必需的。

【讨论】:

  • 谢谢,这是我一直在寻找的答案。最后一个问题,如果我要创建连接池实现(不是用于生产,而是用于家庭项目学习),从哪里开始是一个好地方?我想看看tomcat-jdbc-pool上的源代码。但也许你有一个更好的起点。
  • Here's 一个基本的 Sun/Oracle 教程。警告:示例实现非常糟糕。请勿将其用于实际生产!例如,它不检查也不限制池连接的最大数量。
  • 嗯,我已经看过那个了。是的,它并没有真正告诉我任何我不知道的事情。我打算在 Java 中使用一个简单的 BlackingArrayQueue,它拥有一个连接池,以查看性能如何。我有一个想法从哪里开始。找不到tomcat-jdbc-pool的源码?
  • 文件名here中带有src的那些。顺便说一句,该链接来自链接的相关问题:)
猜你喜欢
  • 2011-12-15
  • 1970-01-01
  • 2015-01-07
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
相关资源
最近更新 更多