I am getting below exception in my code:
Caused by: java.sql.SQLTransientConnectionException: HikariPool-2 - Connection is not available, request timed out after 30006ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197)
Caused by: java.sql.SQLNonTransientConnectionException: Too many connections
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:832)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
and below is the sample code where I am getting this exception when I try to run this code with x number of concurrent users
@Transactional
public List<Object> a() {
return b();
}
@Transactional
public List<Object> b() {
List<Object> listToReturn = new ArrayList<>();
listToReturn .add(create());
return listToReturn;
}
public create() {
Object object= Repository.save(object); //Saves in jpa repository
}
can anyone help me what is the reason ?