Skip to content

Commit c74ab3d

Browse files
committed
Cleaned up defaults for connection utils
1 parent 626da62 commit c74ab3d

2 files changed

Lines changed: 12 additions & 11 deletions

File tree

FROST-Server.SQLjooq/src/main/java/de/fraunhofer/iosb/ilt/frostserver/persistence/pgjooq/utils/ConnectionUtils.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import de.fraunhofer.iosb.ilt.settings.ConfigDefaults;
2121
import de.fraunhofer.iosb.ilt.settings.Settings;
2222
import de.fraunhofer.iosb.ilt.settings.annotation.DefaultValue;
23+
import de.fraunhofer.iosb.ilt.settings.annotation.DefaultValueBoolean;
24+
import de.fraunhofer.iosb.ilt.settings.annotation.DefaultValueInt;
2325
import de.fraunhofer.iosb.ilt.settings.annotation.SensitiveValue;
2426
import java.sql.Connection;
2527
import java.sql.DriverManager;
@@ -68,13 +70,13 @@ public class ConnectionUtils implements ConfigDefaults {
6870
public static final String TAG_DB_MINIDLE = "db.conn.idle.min";
6971

7072
// Connection validation settings
71-
@DefaultValue("false")
73+
@DefaultValueBoolean(false)
7274
public static final String TAG_DB_TEST_ON_BORROW = "db.conn.testOnBorrow";
73-
@DefaultValue("false")
75+
@DefaultValueBoolean(false)
7476
public static final String TAG_DB_TEST_WHILE_IDLE = "db.conn.testWhileIdle";
7577
@DefaultValue("")
7678
public static final String TAG_DB_VALIDATION_QUERY = "db.conn.validationQuery";
77-
@DefaultValue("0")
79+
@DefaultValueInt(0)
7880
public static final String TAG_DB_EVICTION_INTERVAL = "db.conn.timeBetweenEvictionRunsMillis";
7981

8082
/**
@@ -142,16 +144,15 @@ private static DataSource setupBasicDataSource(Settings settings) {
142144
ds.setMaxTotal(settings.getInt(TAG_DB_MAXCONN, ds.getMaxTotal()));
143145
ds.setMinIdle(settings.getInt(TAG_DB_MINIDLE, ds.getMinIdle()));
144146

145-
// Connection validation settings (default false for backward compatibility)
146-
ds.setTestOnBorrow(settings.getBoolean(TAG_DB_TEST_ON_BORROW, false));
147-
ds.setTestWhileIdle(settings.getBoolean(TAG_DB_TEST_WHILE_IDLE, false));
147+
ds.setTestOnBorrow(settings.getBoolean(TAG_DB_TEST_ON_BORROW, ConnectionUtils.class));
148+
ds.setTestWhileIdle(settings.getBoolean(TAG_DB_TEST_WHILE_IDLE, ConnectionUtils.class));
148149

149150
String validationQuery = settings.get(TAG_DB_VALIDATION_QUERY, ConnectionUtils.class);
150151
if (!validationQuery.isEmpty()) {
151152
ds.setValidationQuery(validationQuery);
152153
}
153154

154-
long evictionInterval = settings.getLong(TAG_DB_EVICTION_INTERVAL, 0L);
155+
long evictionInterval = settings.getLong(TAG_DB_EVICTION_INTERVAL, ConnectionUtils.class);
155156
if (evictionInterval > 0) {
156157
ds.setTimeBetweenEvictionRunsMillis(evictionInterval);
157158
}

docs/settings/settings.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,13 @@ These settings deal with the database connection, for both the HTTP and MQTT pac
211211
* **persistence.db.conn.idle.min:**
212212
The minimum number of idle database connections to keep open, when not using JNDI.
213213
The default is driver dependent.
214-
* **persistence.db.conn.testOnBorrow:** Default: `false`
214+
* **persistence.db.conn.testOnBorrow:** Since 2.6.3, Default: `false`
215215
If true, connections are validated before being borrowed from the pool. Default: `false` (for backward compatibility).
216-
* **persistence.db.conn.testWhileIdle:** Default: `false`
216+
* **persistence.db.conn.testWhileIdle:** Since 2.6.3, Default: `false`
217217
If true, connections are validated during idle periods. Default: `false` (for backward compatibility).
218-
* **persistence.db.conn.validationQuery:** Default: empty
218+
* **persistence.db.conn.validationQuery:** Since 2.6.3, Default: empty
219219
The SQL query used to validate connections (e.g., `SELECT 1` for PostgreSQL).
220-
* **persistence.db.conn.timeBetweenEvictionRunsMillis:** Default: `0`
220+
* **persistence.db.conn.timeBetweenEvictionRunsMillis:** Since 2.6.3, Default: `0`
221221
The time in milliseconds between eviction runs for idle connections. Set to 0 to disable.
222222
* **persistence.db.schemaPriority:** Since 2.2.0, Default: empty
223223
When searching table definitions, if a table with a given name is found in multiple schemas,

0 commit comments

Comments
 (0)