11.4. 데이터 소스
데이터 소스는 일부 환경 변수의 값에 따라 자동으로 생성됩니다.
가장 중요한 환경 변수는 데이터 소스에 대한 JNDI 매핑을 정의하므로 DB_SERVICE_PREFIX_MAPPING 입니다. 이 변수에 허용되는 값은 쉼표로 구분된 POOLNAME-DATABASETYPE=PREFIX트립 릿 목록입니다.
-
POOLNAME은 데이터소스에서 풀 이름으로사용됩니다. -
DATABASETYPE은 사용할 데이터베이스 드라이버입니다. -
PREFIX는 데이터 소스를 구성하는 데 사용되는 환경 변수의 이름에 사용되는 접두사입니다.
11.4.1. 데이터 소스에 대한 JNDI 매핑 링크 복사링크가 클립보드에 복사되었습니다!
DB_SERVICE_PREF 트리트에 대해 시작 스크립트는 이미지를 실행할 때 실행되는 별도의 데이터 소스를 생성합니다.
IX_MAPPING 환경 변수에 정의된 각POOLNAME-DATABASETYPE=PREFIX
DB_SERVICE_PREFIX_MAPPING 의 첫 번째 부분은 소문자여야 합니다.
DATABASETYPE 은 데이터 소스에 대한 드라이버를 결정합니다.
드라이버 구성에 대한 자세한 내용은 모듈, 드라이버 및 일반 배포를 참조하십시오. JDK 8 이미지에는 기본적으로 postgresql 및 mysql 에 대한 드라이버가 있습니다.
POOLNAME 매개변수에는 특수 문자를 사용하지 마십시오.
OpenShift 이미지용 JBoss EAP와 함께 Red Hat 제공 내부 데이터 소스 드라이버 사용 지원이 더 이상 사용되지 않습니다. 데이터베이스 벤더에서 얻은 JDBC 드라이버를 JBoss EAP 애플리케이션에 사용하는 것이 좋습니다.
다음 내부 데이터 소스는 더 이상 OpenShift 이미지용 JBoss EAP와 함께 제공되지 않습니다.
- MySQL
- PostgreSQL
드라이버 설치에 대한 자세한 내용은 모듈, 드라이버 및 일반 배포를 참조하십시오.
프로비저닝된 서버에 추가하려는 경우 이러한 드라이버 및 데이터 소스를 설치하기 위해 사용자 지정 계층을 만들 수도 있습니다.
11.4.1.1. 데이터 소스 구성 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
다른 데이터 소스 속성을 구성하려면 다음 환경 변수를 사용합니다.
다음 변수 이름의 POOLNAME, DATABASETYPE 및 PREFIX 값을 적절한 값으로 교체해야 합니다. 이러한 대체 가능한 값은 이 섹션과 Datasources 섹션에 설명되어 있습니다.
| 변수 이름 | 설명 |
|---|---|
| POOLNAME_DATABASETYPE_SERVICE_HOST |
데이터 소스의
예제 값: |
| POOLNAME_DATABASETYPE_SERVICE_PORT | 데이터 소스에 대한 데이터베이스 서버의 포트를 정의합니다.
예제 값: |
| PREFIX_BACKGROUND_VALIDATION |
|
| PREFIX_BACKGROUND_VALIDATION_MILLIS |
|
| PREFIX_CONNECTION_CHECKER | 사용 중인 특정 데이터베이스에 대한 연결의 유효성을 검사하는 데 사용되는 연결 검사 클래스를 지정합니다.
예: |
| PREFIX_DATABASE | 데이터 소스의 데이터베이스 이름을 정의합니다.
예제 값: |
| PREFIX_DRIVER | 데이터 소스에 대한 Java 데이터베이스 드라이버를 정의합니다.
예시 값: |
| PREFIX_EXCEPTION_SORTER | 치명적인 데이터베이스 연결 예외 이후 적절하게 감지 및 정리하는 데 사용되는 예외 분류기 클래스를 지정합니다.
예제 값: |
| PREFIX_JNDI |
데이터 소스에 대한 JNDI 이름을 정의합니다. 기본값은
예제 값: |
| PREFIX_JTA | 비 XA 데이터 소스에 대한 Jakarta 트랜잭션 옵션을 정의합니다. XA 데이터 소스는 이미 Jakarta 트랜잭션입니다.
기본값은 |
| PREFIX_MAX_POOL_SIZE | 데이터 소스에 대한 최대 풀 크기 옵션을 정의합니다.
예제 값: |
| PREFIX_MIN_POOL_SIZE | 데이터 소스에 대한 최소 풀 크기 옵션을 정의합니다.
예제 값: |
| PREFIX_NONXA |
데이터 소스를 비 XA 데이터 소스로 정의합니다. 기본값은 |
| PREFIX_PASSWORD | 데이터 소스의 암호를 정의합니다.
예: |
| PREFIX_TX_ISOLATION | 데이터 소스에 대한 java.sql.Connection 트랜잭션 격리 수준을 정의합니다.
예제 값: |
| PREFIX_URL | 데이터 소스에 대한 연결 URL을 정의합니다.
예제 값: |
| PREFIX_USERNAME | 데이터 소스의 사용자 이름을 정의합니다.
예제 값: |
11.4.1.2. 예 링크 복사링크가 클립보드에 복사되었습니다!
이 예제에서는 DB_SERVICE_PREFIX_MAPPING 환경 변수의 값이 데이터 소스 생성에 어떤 영향을 미치는지 보여줍니다.
11.4.1.2.1. 단일 매핑 링크 복사링크가 클립보드에 복사되었습니다!
test-postgresql=TEST 값을 고려하십시오.
이렇게 하면 java:jboss/datasources/test_postgresql 이름을 사용하여 데이터 소스가 생성됩니다. 또한 password 및 username과 같은 모든 필수 설정은 Cryostat _ 접두사(예: Cryostat_ )를 사용하여 환경 변수로 제공되어야 합니다.
USERNAME 및 Cryostat _ PASSWORD
11.4.1.2.2. 여러 매핑 링크 복사링크가 클립보드에 복사되었습니다!
여러 데이터 소스 매핑을 지정할 수 있습니다.
항상 여러 데이터 소스 매핑을 쉼표로 구분합니다.
DB_SERVICE_PREFIX_MAPPING 환경 변수에 대해 다음 값을 고려하십시오. cloud-postgresql=CLOUD,test-mysql=TEST_MYSQL.
이렇게 하면 다음 두 데이터 소스가 생성됩니다.
-
java:jboss/datasources/test_mysql -
java:jboss/datasources/cloud_postgresql
그런 다음 MySQL 데이터 소스의 사용자 이름 및 암호(예: Cryostat _MYSQL_ USERNAME )와 같은 항목을 구성하기 위해 Cryostat_MYSQL 접두사를 사용할 수 있습니다. PostgreSQL 데이터 소스의 경우 CLOUD_ 접두사를 사용합니다(예: CLOUD_USERNAME ).