3.5. OSGi는 트랜잭션 클라이언트와 트랜잭션 관리자 간의 인터페이스


Cryostat 트랜잭션 클라이언트 API 및 Spring Boot 트랜잭션 클라이언트 API에 대한 설명 후 Fuse와 같은 OSGi 서버 내의 관계를 확인하는 것이 도움이 됩니다. OSGi의 기능 중 하나는 글로벌 서비스 레지스트리이며 다음과 같이 사용할 수 있습니다.

  • 필터 또는 인터페이스를 통해 서비스를 조회합니다.
  • 지정된 인터페이스 및 속성으로 서비스를 등록합니다.

Cryostat 애플리케이션 서버에 배포된 애플리케이션이 JNDI(서비스 Cryostat 메서드)를 사용하여 javax. Cryostat.UserTransaction 에 대한 참조를 얻거나 OSGi에서 CDI(종속적 또는종속 항목 주입 방법)를 사용하여 삽입하는 것과 동일한 방식으로 다음과 같은 방법으로 동일한 참조(직접 또는 간접적으로)를 얻을 수 있습니다.

  • org.osgi.framework.BundleContext.getServiceReference() 메서드 호출(서비스).
  • 블루프린트 컨테이너에 삽입됩니다.
  • SCR(Service Component Runtime) 주석(종속성 주입)을 사용합니다.

다음 그림은 OSGi 런타임에 배포된 Fuse 애플리케이션을 보여줍니다. 애플리케이션 코드 및/또는 Camel 구성 요소는 해당 API를 사용하여 트랜잭션 관리자, 데이터 소스 및 연결 팩토리에 대한 참조를 가져옵니다.

OSGi 트랜잭션 아키텍처

애플리케이션(번들)은 OSGi 레지스트리에 등록된 서비스와 상호 작용합니다. 액세스는 인터페이스를 통해 수행되며 이는 애플리케이션과 관련이 있어야 합니다.

Fuse에서 (직접 또는 작은 래퍼를 통해) 트랜잭션 클라이언트 인터페이스를 구현하는 기본 오브젝트는 org.jboss.narayana.osgi.jta.internal.OsgiTransactionManager 입니다. 다음 인터페이스를 사용하여 트랜잭션 관리자에 액세스할 수 있습니다.

  • javax.transaction.TransactionManager
  • javax.transaction.UserTransaction
  • org.springframework.transaction.PlatformTransactionManager
  • org.ops4j.pax.transx.tm.TransactionManager

이러한 인터페이스를 직접 사용하거나 Camel과 같은 프레임워크 또는 라이브러리를 선택하여 암시적으로 사용할 수 있습니다.

Fuse에서 org.jboss.narayana.osgi.jta.internal.OsgiTransactionManager 를 구성하는 방법에 대한 자세한 내용은 4장. Narayana 트랜잭션 관리자 구성 을 참조하십시오. 이 가이드의 뒷부분에서는 해당 장의 정보를 살펴보고 JDBC 데이터 소스 및 JMS 연결 팩토리와 같은 다른 서비스를 구성하고 사용하는 방법을 설명합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.