323.11.6. optimistic locking


Camel 2.12 에서 여러 Camel 애플리케이션이 집계 리포지토리에 대해 동일한 데이터베이스를 공유 하는 클러스터 환경에서 이 JDBC 기반 집계 리포지토리를 켜고 이 JDBC 기반 집계 리포지토리를 사용할 수 있습니다. JDBC 드라이버가 경쟁 조건이 있는 경우 JDBC 드라이버가 JdbcAggregationRepository 에서 응답할 수 있는 공급업체 특정 예외를 throw합니다. JDBC 드라이버의 예외가 발생한 것을 알기 위해서는 이를 위해서는 mapper가 필요한 경우, JDBC 드라이버의 예외를 optimistick locking 오류로 간주해야 합니다. 따라서 org.apache.camel.processor.aggregate.jdbc.JdbcOptimisticLockingExceptionMapper 가 있으면 필요에 따라 사용자 정의 논리를 구현할 수 있습니다. 다음과 같이 작동하는 기본 구현 org.apache.camel.processor.aggregate.jdbc.DefaultJdbcOptimisticLockingExceptionMapper 가 있습니다.

다음 검사가 수행됩니다.

  • 원인된 예외가 SQLException 으로 인해 23으로 시작되는 경우 SQLState가 확인됩니다.
  • 원인된 예외가 DataIntegrityViolationException일 경우
  • 발생한 예외 클래스 이름의 이름에 "ConstraintViolation"이 있는 경우.
  • 클래스 이름이 구성된 경우 FQN 클래스 이름에 대한 선택적 검사와 일치합니다.

또한 FQN 클래스 이름을 추가할 수 있으며 원인이 발생한 예외 (또는 중첩된 예외) 중 하나가 FQN 클래스 이름 중 하나와 같은 경우 최적화 오류입니다.

다음은 JDBC 공급업체에서 2개의 추가 FQN 클래스 이름을 정의하는 예입니다.

<bean id="repo"
class="org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository">
<property name="transactionManager" ref="transactionManager"/> <property
name="repositoryName" value="aggregation"/> <property name="dataSource"
ref="dataSource"/> <property name"jdbcOptimisticLockingExceptionMapper"
ref="myExceptionMapper"/> </bean> <!-- use the default mapper with extra
FQN class names from our JDBC driver --> <bean id="myExceptionMapper"
class="org.apache.camel.processor.aggregate.jdbc.DefaultJdbcOptimisticLockingExceptionMapper">
<property name="classNames"> <util:set>
<value>com.foo.sql.MyViolationExceptoion</value>
<value>com.foo.sql.MyOtherViolationExceptoion</value> </util:set>
</property> </bean>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.