본문 바로가기

Dev/Spring

[spring] db-connection(Feat.DriverManagerDataSource)

728x90
반응형

스프링개발을 하면서 data source에 개발시에는 org.springframework.jdbc.datasource.DriverManagerDataSource

사용하는경우가 많다..

 

머 개발 하는 경우에는 그렇치만. 이게 실 서버에 적용이 된다면 어마어마한 사건을 일으키게 된다!!!!

 

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/datasource/DriverManagerDataSource.html

 

DriverManagerDataSource (Spring Framework 5.3.8 API)

Set the JDBC driver class name. This driver will get initialized on startup, registering itself with the JDK's DriverManager. NOTE: DriverManagerDataSource is primarily intended for accessing pre-registered JDBC drivers. If you need to register a new drive

docs.spring.io

여기서 보면 알겠지만...

NOTE: This class is not an actual connection pool; it does not actually pool Connections. It just serves as simple replacement for a full-blown connection pool, implementing the same standard interface, but creating new Connections on every call.

 

실제 컨넥션 풀을 가지고 있지 않다.. 그러니 이걸 실서버에서 사요하게 되면 db connection이 계속 증가하게 되어

결국.. DB서버에 부담을 주게 되고 그로 인한 서비스 장애가 발생할수 있다.

 

그러니 실서버에는 컨덴션 풀이 있는 Apache Commons DBCP

,

C3P0 등을 사용하시길..

org.apache.commons.dbcp.BasicDataSource 클래스를 사용하여 안전하게

위의 클레스는 메이븐에 추가 해서 사용하면 되요~

<dependency>
 <groupId>commons-dbcp</groupId>
 <artifactId>commons-dbcp</artifactId>
 <version>1.4</version>
</dependency>

도움이 되시길~

728x90
반응형