diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2020-12-29 22:57:37 -0800 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2020-12-29 22:57:37 -0800 |
commit | 31c4daf083e9f4b799d73d4a1ccb9158505aea70 (patch) | |
tree | d0d3acadd7ca6869d8023c741f2af0dad7579dee /src/main/java/org | |
parent | 449941043a8303e1cca7c63b28e84b6b53c6871c (diff) | |
download | traccar-server-31c4daf083e9f4b799d73d4a1ccb9158505aea70.tar.gz traccar-server-31c4daf083e9f4b799d73d4a1ccb9158505aea70.tar.bz2 traccar-server-31c4daf083e9f4b799d73d4a1ccb9158505aea70.zip |
Migrate more keys
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/traccar/BaseProtocolDecoder.java | 6 | ||||
-rw-r--r-- | src/main/java/org/traccar/config/Keys.java | 21 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/main/java/org/traccar/BaseProtocolDecoder.java b/src/main/java/org/traccar/BaseProtocolDecoder.java index 71e43df5c..a40756796 100644 --- a/src/main/java/org/traccar/BaseProtocolDecoder.java +++ b/src/main/java/org/traccar/BaseProtocolDecoder.java @@ -63,7 +63,7 @@ public abstract class BaseProtocolDecoder extends ExtendedObjectDecoder { } public String getServer(Channel channel, char delimiter) { - String server = config.getString(getProtocolName() + ".server"); + String server = config.getString(Keys.PROTOCOL_SERVER.withPrefix(getProtocolName())); if (server == null && channel != null) { InetSocketAddress address = (InetSocketAddress) channel.localAddress(); server = address.getAddress().getHostAddress() + ":" + address.getPort(); @@ -148,8 +148,8 @@ public abstract class BaseProtocolDecoder extends ExtendedObjectDecoder { public DeviceSession getDeviceSession( Channel channel, SocketAddress remoteAddress, boolean ignoreCache, String... uniqueIds) { if (channel != null && BasePipelineFactory.getHandler(channel.pipeline(), HttpRequestDecoder.class) != null - || ignoreCache || config.getBoolean(getProtocolName() + ".ignoreSessionCache") - || config.getBoolean("decoder.ignoreSessionCache")) { + || ignoreCache || config.getBoolean(Keys.PROTOCOL_IGNORE_SESSIONS_CACHE.withPrefix(getProtocolName())) + || config.getBoolean(Keys.DECODER_IGNORE_SESSIONS_CACHE)) { long deviceId = findDeviceId(remoteAddress, uniqueIds); if (deviceId != 0) { if (connectionManager != null) { diff --git a/src/main/java/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java index d443509e5..598cac66f 100644 --- a/src/main/java/org/traccar/config/Keys.java +++ b/src/main/java/org/traccar/config/Keys.java @@ -138,6 +138,27 @@ public final class Keys { Collections.singletonList(KeyType.GLOBAL)); /** + * Some devices require server address confirmation. Use this parameter to configure correct public address. + */ + public static final ConfigSuffix<String> PROTOCOL_SERVER = new ConfigSuffix<>( + ".server", + Collections.singletonList(KeyType.GLOBAL)); + + /** + * Skip device connection session cache. Per protocol configuration. + */ + public static final ConfigSuffix<Boolean> PROTOCOL_IGNORE_SESSIONS_CACHE = new ConfigSuffix<>( + ".ignoreSessionCache", + Collections.singletonList(KeyType.GLOBAL)); + + /** + * Skip device connection session cache. Global configuration. + */ + public static final ConfigKey<Boolean> DECODER_IGNORE_SESSIONS_CACHE = new ConfigKey<>( + "decoder.ignoreSessionCache", + Collections.singletonList(KeyType.GLOBAL)); + + /** * Server wide connection timeout value in seconds. See protocol timeout for more information. */ public static final ConfigKey<Integer> SERVER_TIMEOUT = new ConfigKey<>( |