From feff5456aa2dc208fb0d8a6c429c40c738282f44 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 18 Jun 2019 02:57:40 +0000 Subject: [PATCH] Concurrent list use and proper update SQL order for PremiumManager class. --- .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ .../gameserver/instancemanager/PremiumManager.java | 12 ++++++------ 13 files changed, 78 insertions(+), 78 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index bf06edd474..62d726cfeb 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index bf06edd474..62d726cfeb 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index bf06edd474..62d726cfeb 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java index 3a5bb35780..ae7d1a5fad 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/PremiumManager.java @@ -20,8 +20,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -44,7 +44,7 @@ public class PremiumManager { // SQL Statement private static final String LOAD_SQL = "SELECT account_name,enddate FROM account_premium WHERE account_name = ?"; - private static final String UPDATE_SQL = "REPLACE INTO account_premium (enddate,account_name) VALUE (?,?)"; + private static final String UPDATE_SQL = "REPLACE INTO account_premium (account_name,enddate) VALUE (?,?)"; private static final String DELETE_SQL = "DELETE FROM account_premium WHERE account_name = ?"; class PremiumExpireTask implements Runnable @@ -64,10 +64,10 @@ public class PremiumManager } // Data Cache - private final Map premiumData = new HashMap<>(); + private final Map premiumData = new ConcurrentHashMap<>(); // expireTasks - private final Map> expiretasks = new HashMap<>(); + private final Map> expiretasks = new ConcurrentHashMap<>(); // Listeners private final ListenersContainer listenerContainer = Containers.Players(); @@ -163,8 +163,8 @@ public class PremiumManager try (Connection con = DatabaseFactory.getConnection(); PreparedStatement stmt = con.prepareStatement(UPDATE_SQL)) { - stmt.setLong(1, newPremiumExpiration); - stmt.setString(2, accountName); + stmt.setString(1, accountName); + stmt.setLong(2, newPremiumExpiration); stmt.execute(); } catch (SQLException e)