diff --git a/pom.xml b/pom.xml
index a961df36ef58589da8ad0ba9ad48907817adb521..c99a87879ff8a619d5be68f7acdc754b0de8fd16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -131,6 +131,11 @@
                         </goals>
                     </execution>
                 </executions>
+                <configuration>
+                    <args>
+                        <arg>-deprecation</arg>
+                    </args>
+                </configuration>
             </plugin>
 
             <plugin>
diff --git a/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala b/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala
index 32c3405948b3859cbbe205f8401dbd5eec7ec6a8..5436a008e619624f093f8a206d8a58be0b11826d 100644
--- a/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala
+++ b/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala
@@ -17,6 +17,7 @@ import de.tobias.playpad.server.server.plugin.{PluginGet, PluginList}
 import de.tobias.playpad.server.server.project._
 import de.tobias.playpad.server.server.project.sync.ProjectSyncHandler
 import de.tobias.playpad.server.settings.{Settings, SettingsHandler, SettingsLoader}
+import de.tobias.playpad.server.sql.SqlBackgroundRunner
 import de.tobias.playpad.server.transformer.JsonTransformer
 import spark.Spark._
 
@@ -30,8 +31,9 @@ object PlayPadServer extends App {
 	private var settings: Settings = _
 
 	private var databaseUrl: String = _
-	var connectionSource: JdbcConnectionSource = _
+	private var connectionSource: JdbcConnectionSource = _
 	private var databaseConnection: Connection = _
+	private var databaseBackgroundThread: Thread = _
 
 	try {
 		val app = ApplicationUtils.registerMainApplication(getClass)
@@ -71,6 +73,11 @@ object PlayPadServer extends App {
 		TableUtils.createTableIfNotExists(connectionSource, classOf[Session])
 		SqlHelper.createTables(databaseConnection)
 
+		val runner = new SqlBackgroundRunner(databaseConnection)
+		databaseBackgroundThread = new Thread(runner)
+		databaseBackgroundThread.start()
+
+
 		// Setup Http Server
 		port(8090)
 		threadPool(8, 2, 60 * 60 * 1000)
@@ -106,8 +113,11 @@ object PlayPadServer extends App {
 		SettingsHandler.saver.save(settings, settingsPath)
 
 		Runtime.getRuntime.addShutdownHook(new Thread(() => {
+			databaseBackgroundThread.interrupt()
+
 			databaseConnection.close()
 			connectionSource.close()
+
 			stop()
 		}))
 	} catch {
diff --git a/src/main/scala/de/tobias/playpad/server/json/JsonSerializer.scala b/src/main/scala/de/tobias/playpad/server/json/JsonSerializer.scala
index 5683ddecad638f5740c569df06c1c2713397f7c0..13a3e9d5943a4c9ddc246361e1a13cc7ef8af89c 100644
--- a/src/main/scala/de/tobias/playpad/server/json/JsonSerializer.scala
+++ b/src/main/scala/de/tobias/playpad/server/json/JsonSerializer.scala
@@ -54,7 +54,6 @@ class JsonSerializer {
 		clazz.getDeclaredFields
 			.filter(f => f.isAnnotationPresent(classOf[JsonName]))
 			.foreach(f => {
-				println(clazz + "\t" + f.getName)
 				f.setAccessible(true)
 				val annotation = f.getAnnotation(classOf[JsonName])
 				val value = jsonObject.get(annotation.value())
diff --git a/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala b/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala
index 27d37c3e1981264ccae53bc75c61b23e9f511d73..d631702baa497acb88ff9f4320119d997a03307c 100644
--- a/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala
+++ b/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala
@@ -9,7 +9,7 @@ import java.nio.file.Path
 trait SettingsSaver {
 
 	@throws[IOException]
-	def save(settings: Settings, path: Path)
+	def save(settings: Settings, path: Path): Unit
 
 	def default(path: Path): Unit = save(new Settings(), path)
 }
diff --git a/src/main/scala/de/tobias/playpad/server/sql/SqlBackgroundRunner.scala b/src/main/scala/de/tobias/playpad/server/sql/SqlBackgroundRunner.scala
new file mode 100644
index 0000000000000000000000000000000000000000..0e5c75f36dd98545353752b26852c58491c00dad
--- /dev/null
+++ b/src/main/scala/de/tobias/playpad/server/sql/SqlBackgroundRunner.scala
@@ -0,0 +1,24 @@
+package de.tobias.playpad.server.sql
+
+import java.sql.Connection
+
+class SqlBackgroundRunner(connection: Connection) extends Runnable {
+
+	private val SLEEP = 5 * 60 * 1000
+
+	override def run(): Unit = {
+		while (!Thread.interrupted()) {
+			val statement = connection.prepareStatement("SHOW TABLES;")
+			val resultSet = statement.executeQuery()
+
+			resultSet.close()
+			statement.close()
+
+			try {
+				Thread.sleep(SLEEP)
+			} catch {
+				case _: InterruptedException => return
+			}
+		}
+	}
+}