JBoss EAP의 JNDI를 사용하여 oracle dataresource를 구성하는 방법을 알아보자. (Wildfly의 JNDI 설정방법 동일)
개발환경
- IntelliJ
- JBoss EAP 7.x
- oracle ojdbc8.x jar
module 추가
먼저 오라클 드라이버를 추가해야 한다. 여기서는 ojdbc8.jar를 사용했다.
module은 다음의 위치에 새로 추가한다.
위 이미지 처럼 jboss_root_path/modules/system/layers/base/com 하위에 새로운 디렉토리, oracle/main을 생성하고, 드라이버 jar파일을 위치한다. 추가로 module.xml 을 생성한다.
module.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Oracle Driver
-->
<module xmlns="urn:jboss:module:1.9" name="com.oracle">
<resources>
<resource-root path="ojdbc8-23.2.0.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
standalone.xml
<subsystem xmlns="urn:jboss:domain:datasources:6.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/oracleDS" pool-name="oracle" enabled="true" use-java-context="true" statistics-enabled="true">
<connection-url>jdbc:oracle:thin:@localhost:test</connection-url>
<driver>oracle</driver>
<security>
<user-name>erpdba</user-name>
<password>erp001</password>
</security>
</datasource>
<drivers>
<driver name="oracle" module="com.oracle">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</driver>
</drivers>
</datasources>
</subsystem>
datasources
,drivers
를 오라클용으로 추가한다.
pool parameters
커넥션 풀 관리가 필요한 경우 다음과 같이 설정할 수 있다.
<datasource...
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
</datasource>
Spring datasource 설정
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource() {
JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean();
jndiObjectFactoryBean.setJndiName("java:jboss/datasources/oracleDS");
jndiObjectFactoryBean.setResourceRef(true);
jndiObjectFactoryBean.setProxyInterface(DataSource.class);
return (DataSource) jndiObjectFactoryBean.getObject();
}
}
EAP Console Monitoring
EAP에서 기본으로 제공하는 웹 콘솔에서 JNDI Datasource를 모니터링 할 수 있다.
| 웹 콘솔 접속을 위해선 add-user.sh or bat을 실행하여 Management user를 사전에 생성해야 한다.
반응형
'Web Programming' 카테고리의 다른 글
Java DateTimeFormatter VS SimpleDateFormat (0) | 2023.12.01 |
---|---|
Java SSL 인증 무시하기(PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException) (0) | 2023.10.11 |
Curl 자주 사용하는 커맨드 예제 및 옵션( Json payload, POST, GET 등 ) (0) | 2023.02.08 |
RESTFul API 패키지 구조 설계안 ( 버전 우선, 도메인 우선 등 방식 비교 ) (0) | 2023.01.30 |
Java 17 주요 특징 with 예제 샘플 코드 (2) | 2023.01.29 |