6.3. JDBC 데이터 소스 구성
OSGi 트랜잭션 아키텍처에서 설명한 대로 일부 서비스는 OSGi 서비스 레지스트리에 등록되어야 합니다. 예를 들어 javax. Cryostat. UserTransaction 인터페이스를 사용하여 트랜잭션 관리자 인스턴스를 찾을 수 있는 것과 마찬가지로
인터페이스를 사용하여 JDBC 데이터 소스에서 동일한 작업을 수행할 수 있습니다. 요구 사항은 다음과 같습니다.
javax.
sql.DataSource
- 대상 데이터베이스와 통신할 수 있는 데이터베이스별 데이터 소스
- 풀링 및 가능한 트랜잭션 관리(XA)를 구성할 수 있는 일반 데이터 소스
Fuse와 같은 OSGi 환경에서는 OSGi 서비스에 등록된 경우 애플리케이션에서 데이터 소스에 액세스할 수 있습니다. 기본적으로 다음과 같이 수행됩니다.
org.osgi.framework.BundleContext.registerService(javax.sql.DataSource.class, dataSourceObject, properties); org.osgi.framework.BundleContext.registerService(javax.sql.XADataSource.class, xaDataSourceObject, properties);
이러한 서비스를 등록하는 방법은 다음 두 가지가 있습니다.
-
jdbc:ds-create
Karaf console 명령을 사용하여 데이터 소스 게시. 구성 방법입니다. -
블루프린트, OSGi 선언 서비스(SCR) 또는
BundleContext.registerService()
API 호출과 같은 메서드를 사용하여 데이터 소스 게시. 이 메서드에는 코드 및/또는 메타데이터가 포함된 전용 OSGi 번들이 필요합니다. 이 방법은 the_deployment method_입니다.