2019.09.26

 

 

ConnectionPool.zip
1.76MB

 

 

 

 context.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="UTF-8"?>
<context> 
 
    <!-- 
    
    Resource를 등록하여 웹에서 JNDI로 호출할 이름과 정보를 설정
    각 db의 Driver jar 필요
    
    -->
 
    <Resource 
      name="jdbc/connCall" 
      auth="Container" 
      type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/db명?"
    username="db아이디" 
    password="db비밀번호" 
    maxActive="100" 
    maxIdle="30" 
    maxWait="10000"
    removeAbandoned="true" 
    removeAbandonedTimeout="60"/> 
 
      <!-- 
    1. name : JNDI로 호출될 이름을 설정
    2. auth : DBCP를 관리할 관리자 (Container or Application)
    3. type : 해당 resource의 return type 
    4. factory : dbcp를 유용하는 관리 클래스
    5. driverClassName : JDBC를 이용하기 위한 드라이버 클래스
    6. url : DB의 접속 URL
    7. username : DB의 계정 명
    8. password : 계정에 대한 비밀번호
    9. maxActive : 최대 접속 허용 개수
    10. maxIdle : DB Pool에 여분으로 남겨질 최대 Connection 개수
    11. maxWait : DB 연결이 반환되는 Timeout의 최대 시간 (-1은 무한 대기)
    12. removeAbandoned : Connection이 잘못 관리되어 버려진 연결을 찾아 재활용할 것인지의 여부 설정
    13. removeAbandonedTimeout : 버려진 연결로 인식할 기본 시간 설정
    (초 단위로 해당 시간이 지나면 버려진 연결로 인식한다.)
    -->          
 
</context>
 
 

 

 

 server.xml

1
<Context docBase="connectionPool" path="/connectionPool" reloadable="true" source="org.eclipse.jst.jee.server:connectionPool"/>
 

 

 

 ConnectionLoad.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package kr.or.ksmart;
 
 
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
 
 
@WebServlet("/")
public class ConnectionLoad extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public ConnectionLoad() {
        super();        
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String connectionInfo = "";
        String getConnectionInfo = "";
        try{            
            Context context = new InitialContext(); // 프로젝트가 돌아가는 정보
            DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/connCall");
            connectionInfo = dataSource.toString();
            getConnectionInfo = dataSource.getConnection().toString();
        }catch(Exception e){
            e.printStackTrace();
        }
        
        PrintWriter out = response.getWriter();
        out.write("Served at: " + request.getContextPath()+"<br>");
        out.write("dataSource info : " + connectionInfo+"<br>");
        out.write("connection info : " +getConnectionInfo);
        out.close();
        out.flush();
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
 
}
 

'교육 > Java' 카테고리의 다른 글

#103 Java ++ 연산자  (0) 2019.10.14
#101 Java 2차원 배열 알고리즘  (0) 2019.10.10
#88 Java 키워드 복습  (0) 2019.09.19
#79 Java cmd로 자바 컴파일하기  (0) 2019.09.04
#72 Java 컴파일  (0) 2019.08.26

+ Recent posts