package kr.debop4j.data.hibernate.forTesting.configs;
import kr.debop4j.data.jdbc.JdbcTool;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
/**
* PgBouncer에 연결하는 방식에 대한 설정 : BoneCP 는 pgBouncer와 연결이 안됩니다!!! 그래서 dbcp BasicDataSource를 사용합니다.
*
* @author 배성혁 ( sunghyouk.bae@gmail.com )
* @since 13. 2. 25
*/
@Configuration
@EnableTransactionManagement
public class PgBouncerConfig extends PostgreSqlConfig {
@Bean(destroyMethod = "close")
public DataSource dataSource() {
// NOTE: pgBouncer 로 연결 시 꼭 prepareThreshold=0 를 추가해야 합니다.
//
return
JdbcTool.getTomcatDataSource("org.postgresql.Driver",
"jdbc:postgresql://localhost:6432/" + getDatabaseName() + "?prepareThreshold=0",
"root",
"root");
// BasicDataSource ds = new BasicDataSource();
// ds.setDriverClassName("org.postgresql.Driver");
// ds.setUrl("jdbc:postgresql://localhost:6432/" + getDatabaseName() + "?prepareThreshold=0");
// ds.setUsername("root");
// ds.setPassword("root");
//
// return ds;
}
}