diff options
Diffstat (limited to 'src/org/traccar')
-rw-r--r-- | src/org/traccar/BaseProtocol.java | 3 | ||||
-rw-r--r-- | src/org/traccar/database/DataManager.java | 64 | ||||
-rw-r--r-- | src/org/traccar/helper/PatternUtil.java | 18 |
3 files changed, 52 insertions, 33 deletions
diff --git a/src/org/traccar/BaseProtocol.java b/src/org/traccar/BaseProtocol.java index d1791d673..f968e81cc 100644 --- a/src/org/traccar/BaseProtocol.java +++ b/src/org/traccar/BaseProtocol.java @@ -61,7 +61,8 @@ public abstract class BaseProtocol implements Protocol { } } else { if (!supportedCommands.contains(command.getType())) { - throw new RuntimeException("Command " + command.getType() + " is not supported in protocol " + getName()); + throw new RuntimeException("Command " + + command.getType() + " is not supported in protocol " + getName()); } activeDevice.write(command); } diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index dffb8937c..839cf8cad 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -15,7 +15,25 @@ */ package org.traccar.database; -import com.mchange.v2.c3p0.ComboPooledDataSource; +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; + +import javax.naming.InitialContext; +import javax.sql.DataSource; + import liquibase.Contexts; import liquibase.Liquibase; import liquibase.database.Database; @@ -23,35 +41,21 @@ import liquibase.database.DatabaseFactory; import liquibase.exception.LiquibaseException; import liquibase.resource.FileSystemResourceAccessor; import liquibase.resource.ResourceAccessor; + import org.traccar.Config; import org.traccar.Context; import org.traccar.helper.Log; import org.traccar.model.Device; -import org.traccar.model.Event; import org.traccar.model.DevicePermission; +import org.traccar.model.Event; import org.traccar.model.Group; import org.traccar.model.GroupPermission; import org.traccar.model.Position; import org.traccar.model.Server; import org.traccar.model.User; -import javax.naming.InitialContext; -import javax.sql.DataSource; -import java.io.File; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; public class DataManager implements IdentityManager { @@ -108,19 +112,21 @@ public class DataManager implements IdentityManager { Class.forName(driver); } - ComboPooledDataSource ds = new ComboPooledDataSource(); - ds.setDriverClass(config.getString("database.driver")); - ds.setJdbcUrl(config.getString("database.url")); - ds.setUser(config.getString("database.user")); - ds.setPassword(config.getString("database.password")); - ds.setIdleConnectionTestPeriod(600); - ds.setTestConnectionOnCheckin(true); - ds.setMaxStatementsPerConnection(config.getInteger("database.maxStatements")); + HikariConfig hikariConfig = new HikariConfig(); + hikariConfig.setDriverClassName(config.getString("database.driver")); + hikariConfig.setJdbcUrl(config.getString("database.url")); + hikariConfig.setUsername(config.getString("database.user")); + hikariConfig.setPassword(config.getString("database.password")); + hikariConfig.setConnectionInitSql("SELECT 1 FROM DUAL"); + hikariConfig.setIdleTimeout(600000); + int maxPoolSize = config.getInteger("database.maxPoolSize"); + if (maxPoolSize != 0) { - ds.setMaxPoolSize(maxPoolSize); + hikariConfig.setMaximumPoolSize(maxPoolSize); } - dataSource = ds; + + dataSource = new HikariDataSource(hikariConfig); } } diff --git a/src/org/traccar/helper/PatternUtil.java b/src/org/traccar/helper/PatternUtil.java index 3d61cc698..88c3f053b 100644 --- a/src/org/traccar/helper/PatternUtil.java +++ b/src/org/traccar/helper/PatternUtil.java @@ -25,9 +25,21 @@ public final class PatternUtil { } public static class MatchResult { - public String pattern; - public String matched; - public String remaining; + private String pattern; + private String matched; + private String remaining; + + public String getPattern() { + return this.pattern; + } + + public String getMatched() { + return this.matched; + } + + public String getRemaining() { + return this.remaining; + } } public static MatchResult checkPattern(String pattern, String input) { |