MySQL

Use MySQL as the JobRunr StorageProvider - driver dependency, configuration, and table creation.

On this page

JobRunr stores all background jobs in MySQL through the MySqlStorageProvider. JobRunr is tested against MySQL 8.

Add the driver dependency

Add the MySQL JDBC driver (Connector/J) to your project. The latest version is on Maven Central.

<dependency>
  <groupId>com.mysql</groupId>
  <artifactId>mysql-connector-j</artifactId>
  <version><!-- latest version --></version>
</dependency>

Configuration

If you use a framework starter, JobRunr automatically detects your existing DataSource - configure your database the usual way and you are done.

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
config.setUsername("myuser");
config.setPassword("mypassword");
DataSource dataSource = new HikariDataSource(config);

JobRunr.configure()
    .useStorageProvider(SqlStorageProviderFactory.using(dataSource))
    .useBackgroundJobServer()
    .initialize();

Creating the tables

By default JobRunr creates its tables automatically. If you want to create them yourself, use the DatabaseCreator or generate the SQL scripts with migration type mysql. See Setting up an SQL database.

Next steps

Looking for another database? Back to the Storage overview.