325.17. PostgreSQL 사례


JdbcAggregationRepository 에서 사용하는 최적화 잠금에 문제가 있을 수 있는 특수 데이터베이스가 있습니다. PostgreSQL은 데이터 무결성 위반 예외 ( SQLState 23505)의 경우 연결을 유효하지 않은 것으로 표시합니다. 이렇게 하면 중첩 트랜잭션 내에서 연결을 효과적으로 사용할 수 없게 됩니다.This makes the connection effectively unavailable within nested transaction. 자세한 내용은 이 문서에서 확인할 수 있습니다.

org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepositoryJdbcAggregationRepository 을 확장하고 특수 INSERT를 사용합니다. ON CONFLICT ... 문에서 낙관적 잠금 동작을 제공합니다.

이 문은 (기본 집계 테이블 정의)입니다.

INSERT INTO aggregation (id, exchange) values (?, ?) ON CONFLICT DO NOTHING

자세한 내용은 PostgreSQL 설명서에서 확인할 수 있습니다.

이 절을 사용하면 java.sql.PreparedStatement.executeUpdate() 호출은 SQLState=23505를 사용하여 SQLException을 throw하는 대신 0 을 반환합니다. 추가 처리는 일반 JdbcAggregationRepository 과 정확히 동일하지만 PostgreSQL 연결을 유효하지 않은 것으로 표시하지 않습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.