
[설정 내용]
DB Connection Pool 사용 전 Validation 확인 진행하는 옵션
<Resource
name="jdbc/TestJNDI"
type="javax.sql.DataSource"
username="postgres"
password="new1234!"
minIdle="3"
maxTotal="5"
testOnBorrow="true"
validationQuery="select 1;"
validationQueryTimeout="10" #세컨
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://{PG IP}/postgres"/>
DB Connection Pool 사용 후 Validation 확인 진행하는 옵션
<Resource name="jdbc/TestJNDI" type="javax.sql.DataSource"
username="postgres" password="new1234!"
minIdle="3" maxTotal="5"
testOnReturn="true" validationQuery="select 1;"
validationQueryTimeout="10" #세컨
driverClassName="org.postgresql.Driver" url="jdbc:postgresql://{PG-IP}:5432/postgres"/>
DB idle Connection Pool에 대하여 일정한 주기로 Validation 확인 진행하는 옵션으로 timeBetweenEvictionRunsMillis 값 지정 후 사용 가능
<Resource name="jdbc/TestJNDI" type="javax.sql.DataSource"
username="postgres" password="new1234!"
minIdle="3" maxTotal="5"
testWhileIdle="true" validationQuery="select 1;" timeBetweenEvictionRunsMillis="10000" #밀리세컨
driverClassName="org.postgresql.Driver" url="jdbc:postgresql://10.217.69.58:5432/postgres"/>
JSP 파일은, 웹 컨텐츠 루트 폴더에 저장
- /tomcat/domains/portal11/webapps/ROOT
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MariaDB Connection Test</title>
</head>
<body>
<h2>MariaDB Connection Test</h2>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. JDBC 드라이버 로드
Class.forName("com.mysql.jdbc.Driver");
// 2. 데이터베이스 연결
String url = "{여기에 URL 입력}";
String user = "mysql";
String password = ""; // 패스워드 입력 필요
conn = DriverManager.getConnection(url, user, password);
out.println("데이터베이스 연결 성공!<br>");
// 3. Statement 생성
stmt = conn.createStatement();
// 4. 쿼리 실행
rs = stmt.executeQuery("SELECT 1");
// 5. 결과 확인
if(rs.next()) {
out.println("쿼리 실행 성공! 결과값: " + rs.getInt(1));
}
} catch(Exception e) {
out.println("데이터베이스 연결/쿼리 실행 실패!<br>");
out.println("예외 메시지: " + e.getMessage());
e.printStackTrace();
} finally {
// 6. 자원 해제
try {
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(conn != null) conn.close();
out.println("<br>데이터베이스 연결 종료");
} catch(Exception e) {
e.printStackTrace();
}
}
%>
</body>
</html>