Javaservlet(tomcat)跟踪到多个数据库的多个jdbc连接
我正在使用Tomcat7构建一个web应用程序,让团队成员可以直接访问任意数量的数据库(可以是任何类型的数据库。MySQL、Oracle等) 可能的数据库数量可能有几十个,它们的连接详细信息存储在应用程序自己的数据库中 我正在寻找一种处理连接和连接池的方法。我无法决定如何打开和关闭连接。我知道我不想为每个请求或每个会话打开连接。我曾想过创建一个全局哈希映射来存储当前打开的连接池,并创建一个进程来终止未使用的连接池Javaservlet(tomcat)跟踪到多个数据库的多个jdbc连接,tomcat,servlets,jdbc,Tomcat,Servlets,Jdbc,我正在使用Tomcat7构建一个web应用程序,让团队成员可以直接访问任意数量的数据库(可以是任何类型的数据库。MySQL、Oracle等) 可能的数据库数量可能有几十个,它们的连接详细信息存储在应用程序自己的数据库中 我正在寻找一种处理连接和连接池的方法。我无法决定如何打开和关闭连接。我知道我不想为每个请求或每个会话打开连接。我曾想过创建一个全局哈希映射来存储当前打开的连接池,并创建一个进程来终止未使用的连接池 有什么东西可以做到这一点吗?我忍不住觉得自己在重新发明轮子。Tomcat连接池一次
有什么东西可以做到这一点吗?我忍不住觉得自己在重新发明轮子。Tomcat连接池一次只能处理一个数据库,对吗?您可以在servlet中实例化Tomcat的连接池 应该是这样的:
public class YourServlet extends HttpServlet {
private DataSource ds;
public void init(ServletConfig config) throws ServletException {
org.apache.tomcat.jdbc.pool.PoolProperties prop;
prop = new org.apache.tomcat.jdbc.pool.PoolProperties();
prop.setUrl("jdbc:mysql://localhost:3306/foo");
prop.setDriverClassName("com.mysql.jdbc.Driver");
prop.setUsername("user");
prop.setPassword("password");
org.apache.tomcat.jdbc.pool.DataSource dataSource;
dataSource = new org.apache.tomcat.jdbc.pool.DataSource();
dataSource.setPoolProperties(prop);
ds = dataSource;
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
Connection conn = ds.getConnection();
...
}
详情请参阅以下文件:
“_Java每个数据库都需要一个
数据源。对于连接池,您可以使用BoneCP或C3P0等。