summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src
diff options
context:
space:
mode:
authorSimon Rettberg2016-08-10 19:05:43 +0200
committerSimon Rettberg2016-08-10 19:05:43 +0200
commit20d2c296be85c4d62db749a2b5155063ebeceba8 (patch)
treedc198b1b4b22fb80029403afb50b6dc15139b030 /dozentenmodulserver/src
parent[server] Fix missed instance of getMailTemplate call (diff)
downloadtutor-module-20d2c296be85c4d62db749a2b5155063ebeceba8.tar.gz
tutor-module-20d2c296be85c4d62db749a2b5155063ebeceba8.tar.xz
tutor-module-20d2c296be85c4d62db749a2b5155063ebeceba8.zip
[server] Fix DbLog: No DELAYED for InnoDB
Diffstat (limited to 'dozentenmodulserver/src')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLog.java40
1 files changed, 22 insertions, 18 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLog.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLog.java
index 97ab8f15..69cd5a3d 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLog.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLog.java
@@ -7,6 +7,8 @@ import org.openslx.bwlp.sat.database.Database;
import org.openslx.bwlp.sat.database.MysqlConnection;
import org.openslx.bwlp.sat.database.MysqlStatement;
import org.openslx.bwlp.thrift.iface.UserInfo;
+import org.openslx.util.QuickTimer;
+import org.openslx.util.QuickTimer.Task;
import org.openslx.util.Util;
public class DbLog {
@@ -21,25 +23,27 @@ public class DbLog {
* null)
* @param description Human readable description of the action being
* performed
- * @throws SQLException
*/
- public static void log(String userId, String targetId, String description) {
- if (description == null) {
- description = "";
- }
- try (MysqlConnection connection = Database.getConnection()) {
- MysqlStatement stmt = connection.prepareStatement("INSERT DELAYED INTO actionlog"
- + " (dateline, userid, targetid, description) VALUES"
- + " (:dateline, :userid, :targetid, :description)");
- stmt.setLong("dateline", Util.unixTime());
- stmt.setString("userid", userId);
- stmt.setString("targetid", targetId);
- stmt.setString("description", description);
- stmt.executeUpdate();
- connection.commit();
- } catch (SQLException e) {
- LOGGER.error("Query failed in DbLog.log()", e);
- }
+ public static void log(final String userId, final String targetId, final String description) {
+ final long timeStamp = Util.unixTime();
+ QuickTimer.scheduleOnce(new Task() {
+ @Override
+ public void fire() {
+ try (MysqlConnection connection = Database.getConnection()) {
+ MysqlStatement stmt = connection.prepareStatement("INSERT INTO actionlog"
+ + " (dateline, userid, targetid, description) VALUES"
+ + " (:dateline, :userid, :targetid, :description)");
+ stmt.setLong("dateline", timeStamp);
+ stmt.setString("userid", userId);
+ stmt.setString("targetid", targetId);
+ stmt.setString("description", description == null ? "" : description);
+ stmt.executeUpdate();
+ connection.commit();
+ } catch (SQLException e) {
+ LOGGER.error("Query failed in DbLog.log()", e);
+ }
+ }
+ });
}
public static void log(UserInfo user, String targetId, String description) {