Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Java Singleton
- Reading HttpServletRequest Multiple Times
- java
- Srping MVC
- Sub Bytes
- Tomcat DBCP
- mTLS
- Unchecked Exception
- HandlerMethodArgumentResolver
- Java Graphql
- Jndi DataSource
- Java Rest
- WildFly
- try - with - resources
- NoUniqueBeanDefinitionException
- 상호 인증
- Open Close Principal
- 바이트 절삭
- graphql
- tomcat jndi
- Graphql Client
- requestheaderdto
- 개방 폐쇄 원칙
- 데이터 압축
- mapstruct
- 이중정렬
- Request Body 여러 번 사용
- Socket is closed
- Checked Exception
- AfterMapping
Archives
- Today
- Total
Developer Sang Guy
[Tomcat] 여러 애플리케이션 실행 시 Tomcat jndi Datasource 이슈(Tomcat DBCP) 본문
Tomcat context.xml의 Resource 태그에 Apache Tomcat JDBC Pool를 설정하여 여러 애플리케이션을 실행할 경우 각각 애플리케이션 마다 DBCP에 설정한 개별적인 Connection Pool을 생성한다.
DBCP 설정에 초기 Connection 개수를 5개로 해놓아도 애플리케이션이 3개가 돌아간다면 독립적인 3개의 Connection Pool이 생성되어 DB에는 15개의 Connection이 연결된다.
이는 GlobalNamingResources, ResourceLink를 사용하여 모든 애플리케이션이 공통의 DBCP 설정을 공유하여 같은 Connection Pool을 사용할수 있도록 한다.
설정 방법 :
tomcat/server.xml
<Server>
<!-- 기타 설정 -->
<GlobalNamingResources>
<Resource name="jdbc/globalDB" auth="Container"
type="javax.sql.DataSource"
maxTotal="100" <!-- 최대 연결 수 -->
maxIdle="30" <!-- 최대 유휴 연결 수 -->
maxWaitMillis="10000" <!-- 최대 대기 시간 (밀리초) -->
username="your_username" <!-- 데이터베이스 사용자 이름 -->
password="your_password" <!-- 데이터베이스 비밀번호 -->
driverClassName="com.mysql.jdbc.Driver" <!-- JDBC 드라이버 클래스 -->
url="jdbc:mysql://localhost:3306/your_database"/> <!-- 데이터베이스 URL -->
</GlobalNamingResources>
</Server>
<Context>
<!-- 기타 설정 -->
<ResourceLink name="jdbc/localDB" global="jdbc/globalDB" type="javax.sql.DataSource"/>
</Context>
ResourceLink > name : 애플리케이션에서 지정 및 사용할 datasource jndi 이름
ResourceLink > global : 사용할 Global resource 이름
'Others' 카테고리의 다른 글
[Apache] 서버 MTLS(상호 인증) 적용 (서버) (0) | 2024.02.08 |
---|---|
[ELK] 키바나 서버 내 설치 후 외부 접근 (0) | 2024.01.04 |
[리눅스 Java] jstat를 활용한GC 모니터링 (0) | 2023.06.16 |
[Wildfly] 로그가 안나와요(sl4j 충돌) (0) | 2023.03.30 |
[Mysql]Full Text Search ngram (0) | 2023.02.17 |
Comments