Skip to content

funfix/database

Repository files navigation

Funfix Database

Maven Central javadoc License

Delayed Queue

A delayed, high-performance FIFO queue for the JVM, powered by your favorite RDBMS. 💨

  • Schedule messages for future delivery
  • Poll with an acknowledgement callback; unacked messages get redelivered after a timeout
  • More reliable than many message queuing systems (MQ)
  • Batch offers for bulk scheduling
  • Cron-like scheduling for periodic tasks

Supported database systems:

  • H2
  • HSQLDB
  • MariaDB
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite

Built on Java 21+, making good use of virtual threads. Has Scala (2.13, 3.x) integration.

Documentation


Maven:

<!-- Java or Kotlin -->
<dependency>
  <groupId>org.funfix</groupId>
  <artifactId>delayedqueue-jvm</artifactId>
  <version>0.5.1</version>
</dependency>
<!-- Scala 3 integration-->
<dependency>
  <groupId>org.funfix</groupId>
  <artifactId>delayedqueue-scala_3</artifactId>
  <version>0.5.1</version>
</dependency>

Gradle:

dependencies {
    // Java or Kotlin
    implementation("org.funfix:delayedqueue-jvm:0.5.1")
    // Scala 3 integration
    implementation("org.funfix:delayedqueue-scala_3:0.5.1")
}

sbt:

// Base JVM library
libraryDependencies += "org.funfix" %% "delayedqueue-jvm" % "0.5.1"
// Scala integration (2.13 or 3)
libraryDependencies += "org.funfix" %% "delayedqueue-scala" % "0.5.1"

You will need to add a supported JDBC driver: