What is optimistic and pessimistic LOCK | How to use this lock in spring boot 3 with example

Поделиться
HTML-код
  • Опубликовано: 24 авг 2024
  • In this tutorial explained how can we use optimistic and pessimistic locking. Also explained how and when to use pessimistic and optimistic locks?
    Locking is a mechanism that allows us to do parallel work with the same data in the database. When more than one transaction tries to access the same data at the same time, locks come into play, which ensures that only one of these transactions will change the data.
    JPA supports two types of locking mechanisms:
    1. Optimistic Locking
    2. Pessimistic Locking.
    Explained both locking mechanism with one example (Reservation System). Booking a ticket with multi thread environment.
    Source Code available here: github.com/Jav...
    #javatechsolutions #springboot #java #java17 #springboot3 #h2database
    #optimisticlocks #pessimisticlocks
    If you guys like this video please do subscribe now and press the bell icon to not miss any update from Java Tech Solutions
    For Subscribe: / @javatechsolutions

Комментарии • 35

  • @djkumar9726
    @djkumar9726 11 месяцев назад +2

    Thanks for your real-time examples, all your videos are very much useful for real time implementation of different micro service concept. Keep uploading such kind of informative videos

  • @rmkulanthaivelu
    @rmkulanthaivelu 2 месяца назад +1

    Great Explanation. Thank you so much.

  • @meghanak8854
    @meghanak8854 7 месяцев назад

    Thank you for your videos with real time projects. Please make more videos on Spring boot and spring cloud technologies.

  • @DurgeshKumawatdk
    @DurgeshKumawatdk 10 месяцев назад

    you picked a good example to explain the locking mechanism

  • @chandan07talreja
    @chandan07talreja Год назад

    Excellent explanation keep videos on spring boot coming 🙌🏻

  • @kaushikmitra1982
    @kaushikmitra1982 Год назад +1

    good explanation !!!

  • @theunusual4566
    @theunusual4566 10 месяцев назад +1

    Hello sir,
    I didn't understand one thing :
    How ticket was saved in db with "BusId" ? Because In the code busDetails was not saved in ticket object..
    Yes.. ticket was added in Bus entity , but still this Bus entity was not saved..
    Pls suggest

  • @Vinoth_Subramani
    @Vinoth_Subramani 7 месяцев назад +1

    In the case of rollback scenario which lock type is suitable

    • @JavaTechSolutions
      @JavaTechSolutions  7 месяцев назад

      Both approach are fine... Depends on your needs

  • @jinalmodi4636
    @jinalmodi4636 5 месяцев назад +1

    Can this be useful when we have the same application deployed on multiple instances?

  • @nenuanenenuane6645
    @nenuanenenuane6645 10 месяцев назад +1

    Hello great vedio is it same process for old springboot versions also?

    • @JavaTechSolutions
      @JavaTechSolutions  10 месяцев назад +1

      It should work. Only little bit modification is required as in Java 17 and spring boot 3 modified lots of thing

    • @nenuanenenuane6645
      @nenuanenenuane6645 10 месяцев назад

      @@JavaTechSolutions thank you

    • @nenuanenenuane6645
      @nenuanenenuane6645 10 месяцев назад

      @@JavaTechSolutions one more doubt is @version annotation and version field needed if we are using Pessimistic locking?
      Can we remove that field and annotation in entity?

  • @Vinoth_Subramani
    @Vinoth_Subramani 7 месяцев назад +1

    @Version is needed for pessimistic lock also?

    • @JavaTechSolutions
      @JavaTechSolutions  7 месяцев назад

      For applying optimistic lock version annotation is required. But for pessimistic locking version annotation not needed

  • @mehmetnamver914
    @mehmetnamver914 6 месяцев назад

    As i understand This lock mechanism only work for one instance ?
    İf we have 2 instance we should use saga ?

    • @JavaTechSolutions
      @JavaTechSolutions  6 месяцев назад

      If any transaction started in any instance then it will complete for that instance only

  • @puneetsaneja3007
    @puneetsaneja3007 9 месяцев назад +1

    Hi. When should we use saga design pattern or when should we use locking mechanisn ?

    • @JavaTechSolutions
      @JavaTechSolutions  9 месяцев назад

      Its depends. Looking mechanism should be used if you want to maintain the data consistency then locking should be used. Even if same data used by multiple thread then locking can be used. Regarding saga design pattern is used based on scenario. It will be used if we want to maintained transaction in multiple microservices.

    • @puneetsaneja3007
      @puneetsaneja3007 9 месяцев назад +1

      @@JavaTechSolutions we cant use locking mechanism when there is 3rd party post api. As we dont have source code in that case. Is that make sense ?

    • @JavaTechSolutions
      @JavaTechSolutions  9 месяцев назад

      @@puneetsaneja3007 yes... True...

  • @mercelessmonk957
    @mercelessmonk957 Месяц назад

    you should switch off your clicks buddy

  • @ThanhPhamTien-vr4gf
    @ThanhPhamTien-vr4gf 6 месяцев назад

    Waste time , first 40 mins was for project creation , eventually just add 1 annotation and dont explain what it does

    • @JavaTechSolutions
      @JavaTechSolutions  6 месяцев назад +1

      Thank you for your concern... But it's in from beginning