1.6. 트랜잭션 및 스레드 간 관계


트랜잭션 처리를 이해하려면 트랜잭션과 스레드 간의 기본 관계를 이해하는 것이 중요합니다: 트랜잭션이 스레드에 따라 다릅니다. 즉, 트랜잭션이 시작되면 특정 스레드에 연결됩니다. (기술적으로 트랜잭션 컨텍스트 오브젝트가 생성되고 현재 스레드와 연결됩니다). 트랜잭션이 종료될 때까지 스레드의 모든 활동이 이 트랜잭션 범위 내에서 수행됩니다.From this point until the transaction ends, all of the activity in the thread occurs within this transaction scope. 다른 스레드의 Activity는 이 트랜잭션의 범위 내에 속하지 않습니다. 그러나 다른 스레드의 활성은 다른 트랜잭션의 범위 내에 있을 수 있습니다.

이러한 트랜잭션과 스레드 간의 관계는 다음을 의미합니다.

  • 애플리케이션은 각 트랜잭션이 별도의 스레드에서 생성되는 한 동시에 여러 트랜잭션을 처리할 수 있습니다.
  • 트랜잭션 내에 하위 스레드를 생성해야 합니다. 트랜잭션 중간에 있고 threads() Camel DSL 명령을 호출하여 새 스레드 풀을 생성하는 경우 새 스레드는 원래 트랜잭션의 범위에 있지 않습니다.
  • 이전 시점에서 지정된 것과 동일한 이유로 새 스레드를 암시적으로 생성하는 처리 단계를 주의하십시오.
  • 트랜잭션 범위는 일반적으로 라우팅 세그먼트 간에 확장되지 않습니다. 즉, 하나의 경로 세그먼트가 to(JoinEndpoint) 로 끝나고 다른 경로 세그먼트가 (JoinEndpoint)에서 시작하는 경우 이러한 경로 세그먼트는 일반적으로 동일한 트랜잭션에 속하지 않습니다. 그러나 예외가 있습니다.
참고

일부 고급 트랜잭션 관리자 구현에서는 트랜잭션 컨텍스트를 원하는 대로 스레드에 분리하고 연결할 수 있습니다. 예를 들어 한 스레드에서 다른 스레드로 트랜잭션 컨텍스트를 이동할 수 있습니다.For example, this makes it possible to move a transaction context from one thread to another thread. 경우에 따라 단일 트랜잭션 컨텍스트를 여러 스레드에 연결할 수도 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.