我正在开发一个网络应用程序(3层)。我目前正在使用Hibernate作为ORM和C3P0作为连接池机制。浏览C3P0的属性,它看起来像:
Min_size:池中的最小JDBC连接数。
据我所知,这会在任何时候给出“n”no.of.connections。我不明白的是,这是否意味着,如果n + 1个用户想要同时访问,系统会挂起吗?另外,有没有关于如何决定这个(min_size)的基准?
谢谢
答案 0 :(得分:1)
最大连接由名为maxPoolSize的属性控制。
<property name="initialPoolSize" >2</property>
<property name="minPoolSize" >1</property>
<property name="maxPoolSize" >5</property>
<property name="acquireIncrement" >1</property>
上面提供了一个包含2个连接的池,最多可以连接5个并发连接,并且在没有足够的连接时一次添加1个。
上述示例中的5个并发之后的任何人都会等待(挂起)直到连接可用。实际上,如果正确使用连接池(在SQL调用之间返回连接,不运行过长的查询等),那么这不是问题。它确实需要了解您的应用程序的使用情况。