강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

jeonjihoon930550 のプロフィール画像
jeonjihoon930550

投稿した質問数

在庫システムで調べる同時性問題の解決方法

Pessimistic Lockを活用する

계속해서 데이터가 줄지 않고 100개로 나옵니다.

作成

·

873

0

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

2023-08-02T14:04:15.469+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : insert into stock (product_id,quantity) values (?,?)

Hibernate: insert into stock (product_id,quantity) values (?,?)

2023-08-02T14:04:15.723+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0 where s1_0.id=?

Hibernate: select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0 where s1_0.id=?

2023-08-02T14:04:15.788+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0

Hibernate: select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0

2023-08-02T14:04:15.802+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : delete from stock where id=?

Hibernate: delete from stock where id=?

 


 

org.opentest4j.AssertionFailedError:

Expected :0

Actual :100

 

이유가 뭔지 잘 모르겠습니다. 코드도 아무리 봐도 같습니다 ㅠㅠ

javaspring동시성

回答 4

2

저도 위와 같이 update 쿼리가 수행되지 않았습니다.
저는 다음과 같이 해결을 했습니다.

코드 쿼리 문에서 적용된 네임드 파라미터를 @Param 으로 명시해 주었더니, update 쿼리가 수행되었습니다.

수정한 코드는 다음과 같습니다.

@Query("select s from Stock s where s.id = :id")
Stock findByIdWithPessimisticLock(@Param("id") Long id);

오 감사합니다 해결했습니다.

0

169developer9973님의 프로필 이미지
169developer9973
インストラクター

네 접속은 됐는데 어떤 테스트가 실패하시는걸까요 ?

169developer9973님의 프로필 이미지
169developer9973
インストラクター

혹시 docker 로 실행하실 때 mysql port 를 변경하신걸까요 ?
올려주신내용에서 port 만 3306 으로 변경하고 실행하니까 저는 정상적으로 실행이 되서요!

만약에 mysql port 를 변경하신게 의도하신거라면 오류나는 내용을 스크린샷 찍어서 올려주실 수 있으실까요?

0

169developer9973님의 프로필 이미지
169developer9973
インストラクター

jeonjihoon93 님 안녕하세요.

올려주신 깃헙링크를 들어가면 404가 뜨는데 주소가 맞을까요 ?

jeonjihoon93님의 프로필 이미지
jeonjihoon93
質問者

수정했습니다. 지금은 될까요?

0

jeonjihoon93님의 프로필 이미지
jeonjihoon93
質問者

https://github.com/wlgnss0912/stock

깃 허브에 올려서 공유 합니다.

jeonjihoon930550 のプロフィール画像
jeonjihoon930550

投稿した質問数

質問する