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.
- For Java:
- For Scala:
- Internals
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:
- H2: com.h2database:h2
- HSQLDB: org.hsqldb:hsqldb
- MariaDB: org.mariadb.jdbc:mariadb-java-client
- MS-SQL: com.microsoft.sqlserver:mssql-jdbc
- Oracle: com.oracle.database.jdbc:ojdbc11
- PostgreSQL: org.postgresql:postgresql
- SQLite: org.xerial:sqlite-jdbc