Число подключений к БД превышает допустимый предел.Поддержание нескольких соединений JDBC в Struts2
Это то, что я пробовал до сих пор.
Когда пользователь успешно входит в систему добавить один объект подключения к сеансу:
Connection conn = DatabaseConnectionManager.getConnection();
sessionMap.put("Connection", conn);
тогда, когда мне нужно соединение с базой данных, я принесу из сессии:
Map<String, Object> sessionMap = (Map<String, Object>) ActionContext.getContext().get("session");
Connection conn = (Connection) sessionMap.get("Connection");
В метод getConnection()
Я печатаю количество раз, когда вызывается метод. Итак, хотя я получаю объект Connection из сеанса, почему количество подключений превышает допустимый предел, равный 50?
JNDI Код:
Connection conn = null;
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/MySqdb");
conn = ds.getConnection();
}
catch (NamingException ex) {
Logger.getLogger(DatabaseConnectionManager.class.getName()).log(Level.SEVERE, null, ex);
}
catch (SQLException sqle) {
sqle.printStackTrace();
}
System.out.println("connection: "+connection++);
return conn;
Я использовал JNDI. Количество подключений находится в пределах допустимого предела. Я не уверен, правильно ли это, пожалуйста, посоветуйте.
ли вы знаете, жизненный цикл и клиент/сервер веб-приложения на стороне программирования ??? Пул соединений JDBC - это свойство сервера, на мой взгляд, он не должен проходить через httpSession. – Sarz
I thiink я. Я ожидал понижения. Я открыт для критики, пока он ведет меня в правильном направлении. – wib
Используйте некоторый пул соединений. –