티스토리 뷰

728x90

Spring에 commons-dbcp2 쓸 때, BasicDataSource 문제

  • 서버 내릴 때 아래와 같은 메세지가 발생

원인

  • Spring이 먼저 DataSource 객체의 JMX 정보를 unregist 한다.
  • BasicDataSource에서도 close 메소드가 호출되어 이미 내려간 JMX 정보를 내리려고 한다.
  • 그과정에서 에러 발생

JMX(Java Management Extensions) : 실행중인 어플리케이션의 상태를 모니터링 하고 설정 변경을 할 수 있게 해주는 API

참고. : http://okminseok.blogspot.com/2019/07/jmx.html

해결

  • 가장 간단한 해결 방법은 BasicDataSource의 close 메소드를 호출하지 않도록 한다.
  @Bean(destroyMethod = "getLogWriter")
  @Primary
  public DataSource dataSource() {
    return dataSourceProperties().initializeDataSourceBuilder().build();
  }

참고

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday