Skip to content

Releases: Gylaii/keydb-client-lib

patch gradle wrapper for jitpack

20 Apr 03:17

Choose a tag to compare

Repo setup

settings.gradle.kts

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
    }
}

build.gradle.kts

dependencies {
    implementation("com.github.Gylaii:keydb-client-lib:v0.1.1")
}

Example usage

Setup

// Вариант 1: Использование значений по умолчанию (берутся из переменных окружения)
val client = KeyDBClient()

// Вариант 2: Явное указание настроек
val client = KeyDBClient(host = "keydb.example.com", port = 6380)

// Вариант 3: Чтение из конфига приложения
val client = KeyDBClient(
    host = appConfig.getString("keydb.host"),
    port = appConfig.getInt("keydb.port")
)

Writing logic

// subscribe
keydb.sub("events:meal-logged") { message ->
    handleMealLoggedEvent(message)
}

// publish in handler
fun handleMealLoggedEvent(message: String) {
    logger.info("Получено сообщение о приёме пищи: $message")
    // do some CRUD and other logic
    keydb.pub("events:route-generated", """{"userId": "123", "route": {...}}""")
}

// process queue
// keydb.push(queue, message)
keydb.pop("route-service:requests") { message ->
    logger.info("Запрос на маршрут: $message")
    handleRouteRequest(message)
}

// handle other things...

// shutdown
Runtime.getRuntime().addShutdownHook(Thread {
    keydb.shutdown()
})

Initial keydb-client library release

20 Apr 02:42

Choose a tag to compare

Repo setup

settings.gradle.kts

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
    }
}

build.gradle.kts

dependencies {
    implementation("com.github.Gylaii:keydb-client-lib:v0.1.0")
}

Example usage

Setup

// Вариант 1: Использование значений по умолчанию (берутся из переменных окружения)
val client = KeyDBClient()

// Вариант 2: Явное указание настроек
val client = KeyDBClient(host = "keydb.example.com", port = 6380)

// Вариант 3: Чтение из конфига приложения
val client = KeyDBClient(
    host = appConfig.getString("keydb.host"),
    port = appConfig.getInt("keydb.port")
)

Writing logic

// subscribe
keydb.sub("events:meal-logged") { message ->
    handleMealLoggedEvent(message)
}

// publish in handler
fun handleMealLoggedEvent(message: String) {
    logger.info("Получено сообщение о приёме пищи: $message")
    // do some CRUD and other logic
    keydb.pub("events:route-generated", """{"userId": "123", "route": {...}}""")
}

// process queue
// keydb.push(queue, message)
keydb.pop("route-service:requests") { message ->
    logger.info("Запрос на маршрут: $message")
    handleRouteRequest(message)
}

// handle other things...

// shutdown
Runtime.getRuntime().addShutdownHook(Thread {
    keydb.shutdown()
})