|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface PooledConnection
접속 풀 관리의 훅을 제공하는 객체입니다. PooledConnection
객체는, 데이터 소스에의 물리 접속을 나타냅니다. 어플리케이션이 있는 접속으로 종료했을 때, 그 접속은 닫혀지지 않고 리사이클됩니다. 그 때문에, 생성할 필요가 있는 접속수를 줄일 수가 있습니다.
어플리케이션 프로그래머가 PooledConnection
인터페이스를 직접 사용할 것은 없습니다. 오히려,PooledConnection
인터페이스는, 접속의 풀링을 관리하는 중간층 인프라스트럭쳐(infrastructure)가 사용합니다.
어플리케이션은,DataSource.getConnection
메소드를 호출하면(자),Connection
객체를 되돌립니다. 접속 풀의 실행중,Connection
객체는, 물리 접속인 PooledConnection
객체의 핸들이 됩니다.
접속 풀 관리 프로그램 (일반적으로 어플리케이션 서버)은,PooledConnection
객체의 풀을 관리합니다. 풀내에 이용 가능한 PooledConnection
객체가 존재하는 경우, 그 물리 접속의 핸들인 Connection
객체를 돌려줍니다. 이용 가능한 PooledConnection
객체가 존재하지 않는 경우, 접속 풀 관리 프로그램은,PooledConnection
메소드의 getConnection
를 호출해, 새로운 물리 접속을 작성합니다. ConnectionPoolDataSource
를 구현하는 JDBC 드라이버는, 새로운 PooledConnection
객체를 작성해, 그 핸들을 돌려줍니다.
접속을 닫을 때, 어플리케이션은 Connection
메소드 close
를 호출합니다. 접속 풀의 실행중, 접속 풀 관리 프로그램에 통지가 보내집니다. 이것은, 접속 풀 관리 프로그램이 ConnectionPool
메소드 addConnectionEventListener
를 사용해,ConnectionEventListener
객체로서 등록되어 있기 때문입니다. 접속 풀 관리 프로그램은 PooledConnection
객체의 핸들을 종료해, 접속 풀에 PooledConnection
객체를 돌려줍니다. 반환된 객체는 재사용 가능합니다. 이와 같이, 어플리케이션이 접속을 닫을 때, 배후의 물리 접속은 닫혀지지 않고, 리사이클됩니다.
물리 접속은, 접속 풀 관리 프로그램이 PooledConnection
메소드 close
를 호출할 때까지 닫혀지지 않습니다. 일반적으로, 이 메소드는, 일반적으로 대로의 순서로 서버를 종료하는 경우, 또는 치명적인 에러에 의해 접속을 사용할 수 없는 상태가 되었을 경우에 불려 갑니다.
접속 풀 관리 프로그램은, 일반적으로,PreparedStatement
객체의 풀을 관리하는 것으로써, 문장의 풀의 관리 프로그램이라고 해도 기능합니다. 준비된 문장을 덮을 때, 어플리케이션은 PreparedStatement
메소드의 close
를 호출합니다. 풀 관리 프로그램은 ConnectionPool
메소드의 addStatementEventListener
를 사용해 자신을 StatementEventListener
객체로서 등록하고 있기 (위해)때문에,Statement
의 풀의 실행중에 통지를 받습니다. 이와 같이, 어플리케이션이 PreparedStatement
를 닫을 때, 부하의 준비된 문장은 닫혀지지 않고, 리사이클됩니다.
메소드의 개요 | |
---|---|
void |
addConnectionEventListener (ConnectionEventListener listener)
지정한 이벤트 청취자를 등록해, 이 PooledConnection 객체로 이벤트가 발생했을 때에 통지되도록(듯이) 합니다. |
void |
addStatementEventListener (StatementEventListener listener)
이 PooledConnection 객체에 StatementEventListener 를 등록합니다. |
void |
close ()
이 PooledConnection 객체가 나타내는 물리 접속을 닫습니다. |
Connection |
getConnection ()
Connection 객체 (이 PooledConnection 객체가 나타내는 물리 접속의 핸들)를 작성해, 돌려줍니다. |
void |
removeConnectionEventListener (ConnectionEventListener listener)
지정한 이벤트 청취자를, 이 PooledConnection 객체로 이벤트가 발생했을 때에 통지되는 컴퍼넌트의 리스트로부터 삭제합니다. |
void |
removeStatementEventListener (StatementEventListener listener)
PreparedStatement 가 닫혀졌는지 무효라는 점을 드라이버가 검출했을 때에 통지를 받는 컴퍼넌트의 리스트로부터, 지정된 StatementEventListener 를 삭제합니다. |
메소드의 상세 |
---|
Connection getConnection() throws SQLException
Connection
객체 (이 PooledConnection
객체가 나타내는 물리 접속의 핸들)를 작성해, 돌려줍니다. 접속 풀 관리 프로그램은, 어플리케이션에 의해 DataSource.getConnection
메소드가 불려 갔지만, 이용 가능한 PooledConnection
객체가 존재하지 않는 경우에, 이 메소드를 호출합니다. 상세한 것에 대하여는,인터페이스의 설명
을 참조해 주세요.
PooledConnection
객체의 핸들인 Connection
객체
SQLException
- 데이타베이스 액세스 에러가 발생했을 경우
SQLFeatureNotSupportedException
- JDBC 드라이버가 이 메소드를 지원하지 않는 경우void close() throws SQLException
PooledConnection
객체가 나타내는 물리 접속을 닫습니다. 어플리케이션이 이 메소드를 직접 호출할 것은 없습니다. 이 메소드는, 접속 풀 모듈, 또는 접속 풀 관리 프로그램에 의해 불려 갑니다.
상세한 것에 대하여는,인터페이스의 설명
을 참조해 주세요.
SQLException
- 데이타베이스 액세스 에러가 발생했을 경우
SQLFeatureNotSupportedException
- JDBC 드라이버가 이 메소드를 지원하지 않는 경우void addConnectionEventListener(ConnectionEventListener listener)
PooledConnection
객체로 이벤트가 발생했을 때에 통지되도록(듯이) 합니다.
listener
- ConnectionEventListener
인터페이스를 구현해, 접속의 종료시 또는 에러의 발생시에 통지를 받는 컴퍼넌트. 일반적으로은 접속 풀 관리 프로그램removeConnectionEventListener(javax.sql.ConnectionEventListener)
void removeConnectionEventListener(ConnectionEventListener listener)
PooledConnection
객체로 이벤트가 발생했을 때에 통지되는 컴퍼넌트의 리스트로부터 삭제합니다.
listener
- ConnectionEventListener
인터페이스를 구현해, 이 PooledConnection
객체에 청취자로서 등록된 컴퍼넌트. 일반적으로은 접속 풀 관리 프로그램addConnectionEventListener(javax.sql.ConnectionEventListener)
void addStatementEventListener(StatementEventListener listener)
PooledConnection
객체에 StatementEventListener
를 등록합니다. 접속에 의해 작성된 PreparedStatement
가 닫혀졌을 때, 또는 무효이다고 판단되었을 경우에 통지를 받는 컴퍼넌트는, 이 메소드를 사용해, 이 PooledConnection
객체에 StatementEventListener
를 등록할 수 있습니다.
listener
- 이 PooledConnection
객체에 등록하는 StatementEventListener
인터페이스를 구현하는 컴퍼넌트
void removeStatementEventListener(StatementEventListener listener)
PreparedStatement
가 닫혀졌는지 무효라는 점을 드라이버가 검출했을 때에 통지를 받는 컴퍼넌트의 리스트로부터, 지정된 StatementEventListener
를 삭제합니다.
listener
- 이 PooledConnection
객체에 이전에 등록된 StatementEventListener
인터페이스를 구현하는 컴퍼넌트
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.