Состояние postgresql на моем сервере показывает номер простоя, превышающий номер, указанный в моем tomcat
systemctl status postgresql-9.4.service | grep idle -c
284
Другими словами:
select count(state) from pg_stat_activity where state like 'idle'
284
Настройки в моем context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context allowCasualMultipartParsing="true">
<Resource
name="jdbc/postgres"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/db1"
username="postgres" password="*****"
initialSize ="30"
maxTotal="300" maxIdle="20" maxWaitMillis="30000"
closeMethod="close"
validationQuery="SELECT 1"
validationQueryTimeout="5"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
<Resource
name="jdbc/postgresDb2"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/db2"
username="postgres" password="*****"
initialSize ="30"
maxTotal="300" maxIdle="20" maxWaitMillis="30000"
closeMethod="close"
validationQuery="SELECT 1"
validationQueryTimeout="5"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
</Context>
Соединения в моем коде такие:
public String asignacionMax(String type) throws ModuleException, Exception{
Connection conn = null;
PreparedStatement stmt = null;
String accountno="";
try{
String query = "select nextval('public.asignacionseq');";
conn = getConnection("GU");
stmt = conn.prepareStatement(query);
ResultSet rst = stmt.executeQuery();
String cnt="";
if(rst.next()){
cnt = rst.getString("nextval");
for(int i=cnt.length();i<9;i++){
cnt= "0"+cnt;
}
}
accountno = type+cnt;
}catch(Exception e){
throw new Exception(e);
}finally{
if (conn != null) {conn.close();}
if (stmt != null) {stmt.close();}
}
return accountno;
}
Информация о моей системе:
Версия сервера: Apache Tomcat / 9.0.5
Построен сервер: 6 февраля 2018 21:42:23 UTC
Номер сервера: 9.0.5.0
Название ОС: Linux
Версия ОС: 3.10.0-693.21.1.el7.x86_64
Архитектура: amd64
Версия JVM: 1.8.0_161-b14