Hogyan lehet használni a fészerzárat felvonóvázas alkalmazáshoz?

May 29, 2025

Hagyjon üzenetet

John Lee
John Lee
Én vagyok a Hunan Lianhu Hardware Co. technológiai vezérigazgatója, amely vezeti az innovációs stratégiánkat. A hangsúlyom a legmodernebb hardver megoldások kidolgozására összpontosít, amelyek megfelelnek a modern igényeknek.

A modern szoftverfejlesztés során a megosztott forrásokhoz való egyidejű hozzáférés különféle kérdésekhez vezethet, például az adatok következetlenségét és a versenyfeltételeket. A Shed Lock egy hatékony eszköz, amely segít a fejlesztőknek hatékonyan kezelni ezeket a párhuzamos problémákat. Fészer zárolóként azért vagyok itt, hogy vezesse Önt, hogyan kell integrálni és használni a fészer zárat egy felvonó keretrendszer alkalmazásával.

A fészerzár megértése

A Shed Lock egy könyvtár, amely elosztott zárakat biztosít az ütemezett feladatokhoz egy Java alkalmazásban. Ez biztosítja, hogy az ütemezett feladat csak egy példánya egyszerre futjon több csomóponton egy elosztott rendszerben. Ez elengedhetetlen a megosztott erőforrások kezelése vagy az egyidejűleg nem végrehajtható feladatok elvégzésekor.

A fészerzár mögött álló alapfogalom egyszerű: adatbázist vagy más tárolórendszereket használ a zárak kezelésére. Amikor egy ütemezett feladat megkezdődik, megpróbálja megszerezni a zárat. Ha elérhető a zár, akkor a feladat folytatódik; Ellenkező esetben megvárja vagy kihagyja a végrehajtást.

Előfeltételek

Mielőtt elkezdenénk integrálni a fészerzárat egy felvonó keretrendszer alkalmazásával, győződjön meg arról, hogy a következőkkel rendelkezik:

  1. Munkahelyi emelési keretrendszer alkalmazás. Ha még nem rendelkezik, létrehozhat egy új felvonó projektet az SBT (Simple Build Tool) használatával.
  2. Egy adatbázis, amelyet a Shed Lock támogat. A népszerű választások között szerepel a MySQL, a PostgreSQL és a H2.
  3. A Java és a Framework fogalmak, például az ütemezett feladatok és az adatbázis -hozzáférés alapvető ismerete.

1. lépés: Adja hozzá a fészer zárfüggőségeit

Először hozzá kell adnia a fészer zárfüggőségeit a felvonó projektjéhez. Ha az SBT -t használja, adja hozzá a következő sorokatBuild.SBTFájl:

LibraryDependences ++ = seq ("net.javacrumbs.shedlock" % "shedlock-spring" % "4.40.0", "net.javacrumbs.shedlock" % "shedlock-provider-jdbc-template" % "4.40.0")

Ezek a függőségek magukban foglalják a Core Shed Lock könyvtárat és a JDBC sablon szolgáltatót, amely lehetővé teszi a relációs adatbázis használatát a zárkezeléshez.

2. lépés: Konfigurálja az adatbázist

Ezután konfigurálnia kell az adatbázis -kapcsolatot. A Lift alkalmazásban használhatja a Lift beépített - adatbázis -kezelési rendszerben vagy egy harmadik parti könyvtárban, mint például a Spring JDBC.

19-38-6

Íme egy példa a JDBC adatforrás konfigurálására a Spring Boot használatávalAdatforrásKonfiguráció egy Lift alkalmazásban:

import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.jdbc.dataSource.DrivermanagerDataSource; Import javax.sql.dataSource; @Configuration nyilvános osztályú DatabaseConfig {@Bean Public Datasource Datasource () {DrivermanagerDataSource Datasource = új DrivermanagerDataSource (); dataSource.setDriverClassName ("com.mysql.cj.jdbc.driver"); dataSource.seturl ("JDBC: MySQL: // localhost: 3306/your_database"); dataSource.setUserName ("your_userName"); dataSource.setPassword ("your_password"); visszaadási forrásból; }}

Ez a kód konfigurál egy MySQL adatforrást. Ki kell cserélnie az URL -t, a felhasználónevet és a jelszót a tényleges adatbázis -hitelesítő adatokkal.

3. lépés: Hozzon létre egy zár szolgáltatót

A Shed Lock záró szolgáltatót használ a zárak kezelésére. JDBC alapú adatbázishoz létrehozhat egyJDBCTemplateLockProvideralábbiak szerint:

Import net.javacrumbs.shedlock.provider.jdbctemplate.jdbctemplateLockProvider; Import net.javacrumbs.shedlock.spring.annotation.enableschedulerLock; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.jdbc.core.jdbctemplate; Import javax.sql.dataSource; @Configuration @enableschedulerLock (defaultLockAtmestFor = "pt30s") nyilvános osztály ShedlockConfig {@Bean public jdbctemplatelockProvider lockProvider (Datasource Datasource) {return új jdbctemplatelockProvider ()) .WithJDBCTemplate (új JDBCTemplate (DataSource)) .USingDBTime () .Build ()); }}

A@ElleschedulerLocka kommentár lehetővé teszi a fészer zárolását az alkalmazásában, és aDefaultLockAtmestForAz attribútum beállítja a zár rögzítésének maximális időpontját.

4. lépés: Határozza meg az ütemezett feladatokat

Lift alkalmazásban meghatározhatja az ütemezett feladatokat a Lift's használatávalSObjektum vagy tavasz@Skeduledkommentár. Íme egy példa a@Skeduledkommentár a fészer zárral:

Import net.javacrumbs.shedlock.spring.annotation.schedulerlock; import org.springframework.scheduling.annotation.scheduled; import org.springframework.sterotype.component; @Component nyilvános osztályok ütemezett {@scheduled (fixtRate = 60000) @schedulerLock (name = "mySchedultedTask", l fatmostfor = "pt10s", lockatleastfor = "pt5s") public void myscheduledTask () {// az Ön feladat logikája. }}

A@SchedulerlockA kommentár a zár nevének meghatározására szolgál, a zárat meg lehet tartani (Curl -postfor), és a zárat tartó minimális időpontot (Lezáró).

5. lépés: Futtassa az alkalmazást

Most, hogy konfigurálta a fészerzárat és meghatározta az ütemezett feladatokat, futtathatja a Lift alkalmazást. Az ütemezett feladat bevezetésekor a Shed Lock megpróbálja megszerezni a zárat. Ha elérhető a zár, akkor a feladat végrehajtja; Ellenkező esetben kihagyja a végrehajtást.

Fejlett használat

  • Több ütemezett feladat: Meghatározhatja az alkalmazásban több ütemezett feladatot, mindegyik saját zárral. Csak győződjön meg arról, hogy minden feladathoz használjon különböző zárneveket.
  • Hibakezelés.

További zár típusú

Az alapvető fészer zár funkcionalitás mellett vannak más típusú zárak is, amelyek különböző forgatókönyvekben hasznosak lehetnek. Például,Lezáró zárHasználható olyan helyzetekben, amikor szüksége van egy egyszerű és gyors reteszelő mechanizmusra.Önzáró ajtóalkalmas olyan alkalmazásokra, ahol biztonsági és automatikus reteszelés szükséges. ÉsRaktárzárfelhasználható a tárolási területek védelmére és annak biztosítására, hogy csak engedélyezett hozzáférés legyen megengedett.

Következtetés

A fészerzár integrálása az emelési keretrendszer alkalmazásával egy egyszerű folyamat, amely jelentősen javíthatja az ütemezett feladatok megbízhatóságát és következetességét. Az útmutatóban vázolt lépések betartásával biztosíthatja, hogy az alkalmazás zökkenőmentesen is működjön, még elosztott környezetben is.

Ha érdekli, hogy használja a fészer zárolási megoldásainkat a Lift Framework alkalmazásokhoz, vagy bármilyen kérdése van termékeinkkel kapcsolatban, felkérjük Önt, hogy vegye fel velünk a kapcsolatot egy részletes megbeszélésre. Szakértői csapatunk készen áll arra, hogy segítsen Önnek a legjobb zárolási megoldások megtalálásában az Ön egyedi igényeihez.

Referenciák

  • A Lock Lock hivatalos dokumentációja.
  • Lift Framework hivatalos dokumentáció.
  • A JDBC és az ütemezés tavaszi rendszerindító dokumentációja.
A szálláslekérdezés elküldése