Heart's Develop Inside (WP)

Heart's Develop Blog in WordPress.com

JedisPool 객체를 Spring Bean 으로 유연하게 만들기 위한 Factory Bean 구현

leave a comment »

JedisPool 의 생성자는 host, port 입력까지는 Config 객체를 받지 않다가, timeout, password, db number 등을 추가로 입력할 때에는 Config 객체를 명시적으로 입력받습니다.
Spring 을 통해 JedisPool bean 을 생성할 때, 이런 생성자 전달인자 차이는 bean 생성에 불편하게 작용합니다.
이를 피하기 위해, FactoryBean 을 정의하고 bean 에 설정되는 정보에 맞게 JedisPool 객체를 만들도록 구현해 보았습니다.

[gist 5891411]

AbstractFactoryBean 을 상속하여 구현하였고, Spring bean 생성 시 class 로 구현체 클래스(JedisPoolFactoryBean) 를 지정하면 자동으로 JedisPool 이 생성되어 전달됩니다.
AbstractFactoryBean 을 통해 생성되는 객체는 기본적으로 singleton 객체로 유지됩니다.
이를 변경하려면 isSingleton() 을 override 하여 false 를 리턴하도록 변경합니다.
(옵션이 변경되면 나머지는 AbstractFactoryBean 이 알아서 처리해 줍니다 ^^)

Advertisements

Written by kabhwan

2013년 6월 30일 , 시간: 12:14 오전

Java, Spring에 게시됨

Tagged with , , ,

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: