source : http://javacan.tistory.com/entry/ThreadLocalUsage
자바 1.2 버전부터 제공되고 있지만 아직 다수의 개발자들이 잘 몰라서 활용을 잘 못하는 기능이 하나 있는데, 그 기능이 바로 쓰레드 단위로 로컬 변수를 할당하는 기능이다. 이 기능은 ThreadLocal 클래스를 통해서 제공되는데
...
ThreadLocal을 이용하면 쓰레드 영역에 변수를 설정할 수 있기 때문에, 특정 쓰레드가 실행하는 모든 코드에서 그 쓰레드에 설정된 변수 값을 사용할 수 있게 된다.
...
아래는 트랜잭션처리를 위해 ThreadLocal을 이용해서 동일한 Connection을 얻기 위한 예제
public class ConnectionUtil .... { ... /* threadLocal을 이용해서 같은 connection을 끊지 않는 이상은 공유 */ public static final ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>(); public Connection getConnection(){ Connection connection = (Connection)threadLocal.get(); try{ if(connection == null){ connection = dataSource.getConnection(); threadLocal.set(connection); } return connection; }catch(SQLException e){ e.printStackTrace(); throw new DAOException(e.getMessage()); } } ... }
'Application Programing > java/jsp' 카테고리의 다른 글
Spring - view를 결정하기 (1) | 2011.04.22 |
---|---|
JNDI (2) | 2011.04.05 |
JSP - Tiles를 이용한 레이아웃 템플릿 처리 (0) | 2011.03.04 |
Recent Comments