0

我正在寻找有关如何在 tomcat 启动时启用连接池的信息。我的设置权使tomcat在第一次请求时初始化并向池添加X个连接,但我希望tomcat在启动tomcat时执行此操作。

我在 Server.xml 中的设置如下:

<Context docBase=".../apache-tomcat-5.5.27/webapps/app" path="/app" reloadable="true" 
source="org.eclipse.jst.j2ee.server:app">
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="100" 
maxIdle="30" initialSize="10" 
maxWait="10000" name="jdbc/app" password="pass" type="javax.sql.DataSource" 
url="jdbc:mysql://ip:3306/dbschema" username="username"/>

正如我之前提到的,将 initialSize 设置为 10 会在创建第一个连接时创建 10 个连接,但我希望在启动 tomcat 时使用此功能。

4

1 回答 1

0

解决了这个问题,我会回答我自己的问题,以防其他人需要它。

通过创建一个 servlet、覆盖 init() 方法并通过在 tomcat 中修改 web.xml 在启动时加载该 servlet 来解决这个问题。只要initialSize已经在 servlet.xml 中设置,它就可以工作。

所以,实际发生的是,tomcat 在启动时加载了这个 servlet,而这个 servlet 所做的只是创建一个数据库连接。当这个连接被创建时,tomcat会启动initialSize中指定的连接数

于 2013-03-06T14:24:15.147 回答