>  Q&A  >  본문

java - Spring-data-jpa 방금 저장한 정보를 찾을 수 없습니다

1 백엔드 구조

백그라운드 구조는 SpringMVC, Spring, jpa(HibernateJpaDialect),
DataSource(c3p0), Mysql(InnoBDB),
transactionManager(JpaTransactionManager)입니다.

2 문제가 있는 환경

으아악 으아악 으아악

3 문제 설명

프런트 엔드는 addScenicSpot() 메서드를 호출하여 정보를 데이터베이스에 저장한 다음 저장된 데이터 컨트롤의 ID를 메시지 대기열로 보냅니다. 그런 다음 구독자는 대기열의 정보를 처리하고 방금 저장된 정보를 기반으로 쿼리합니다. 그런 다음 외부 인터페이스를 호출하여 경도와 위도를 쿼리하고 얻은 경도와 위도를 데이터베이스에 저장합니다.
지금 문제는 정보 저장은 정상인데, 구독자 처리 시 획득한 ID를 기준으로 저장된 정보를 찾을 수 없다는 점입니다.

4 문제 추측하기

버그의 원인은 스프링 트랜잭션 제출이 메시지 대기열의 생성 메시지보다 늦어서 메시지 대기열이 메시지를 소비할 때 잘못된 데이터를 얻게 되었기 때문입니다.
영감은 여기에서 얻습니다: http://www.cnblogs. com/taocon...

扔个三星炸死你扔个三星炸死你2686일 전1391

모든 응답(2)나는 대답할 것이다

  • 迷茫

    迷茫2017-06-12 09:27:28

    동기 호출, 비동기 호출로 변경하시겠습니까?

    @Async
    getGPSFromBaiduAPI

    회신하다
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:27:28

    문제는 해결되었으며, 여기 방법이 적용되었습니다: http://www.cnblogs.com/taocon...

    회신하다
    0
  • 취소회신하다