sql修复、检测配置

This commit is contained in:
attiya 2025-12-25 16:57:00 +08:00
parent 6b69e31ac7
commit f761db3047
2 changed files with 13 additions and 15 deletions

View File

@ -46,16 +46,18 @@ public class MqttConnectionPool implements DisposableBean, InitializingBean {
config.setMinIdle(MqttConfig.getPoolMinIdle()); config.setMinIdle(MqttConfig.getPoolMinIdle());
config.setBlockWhenExhausted(true); // 必须设置为 true config.setBlockWhenExhausted(true); // 必须设置为 true
config.setMaxWaitMillis(5000); // 等待5秒不能无限等待 config.setMaxWaitMillis(5000); // 等待5秒不能无限等待
// 禁用空闲连接维护
// config.setTimeBetweenEvictionRuns(Duration.ofMillis(-1));
// 启用空闲连接维护 // 启用空闲连接维护
config.setTimeBetweenEvictionRuns(Duration.ofMinutes(5)); config.setTimeBetweenEvictionRuns(Duration.ofMinutes(5));
config.setSoftMinEvictableIdleTime(Duration.ofMinutes(30)); // config.setSoftMinEvictableIdleTime(Duration.ofMinutes(30)); //开启则会驱逐定期销毁空闲
config.setMinEvictableIdleTime(Duration.ofMinutes(30)); // config.setMinEvictableIdleTime(Duration.ofMinutes(30));
config.setNumTestsPerEvictionRun(-1); config.setNumTestsPerEvictionRun(-1);
config.setTestOnBorrow(false); config.setTestOnBorrow(true);
config.setTestOnReturn(false); config.setTestOnReturn(true);
config.setTestWhileIdle(true); // 空闲时验证保持连接健康 config.setTestWhileIdle(true); // 空闲时验证保持连接健康
connectionPool = new GenericObjectPool<>(mqttConnectionFactory, config); connectionPool = new GenericObjectPool<>(mqttConnectionFactory, config);

View File

@ -21,16 +21,12 @@
<select id="findAllRegionsOrderByDistance" resultType="com.cdzy.operations.model.entity.EbikeRegion"> <select id="findAllRegionsOrderByDistance" resultType="com.cdzy.operations.model.entity.EbikeRegion">
SELECT SELECT
ebike_region.*, ebike_region.*,
ST_Distance( ST_Distance ( region_polygon::geometry, ST_SetSRID ( ST_MakePoint ( #{lng}, #{lat}), 4326 ) :: geography ) AS distance_meters,
region_polygon::geography, ST_Contains ( ST_SetSRID(region_polygon::geometry, 4326), ST_SetSRID ( ST_MakePoint ( #{lng}, #{lat}), 4326 ) ) AS is_within_region
ST_SetSRID(ST_MakePoint(#{lng}, #{lat}), 4326)::geography FROM
) AS distance_meters, ebike_region
ST_Contains( WHERE
region_polygon, is_deleted IS NOT TRUE
ST_SetSRID(ST_MakePoint(#{lng}, #{lat}), 4326)
) AS is_within_region
FROM ebike_region
WHERE is_deleted IS NOT TRUE
ORDER BY ORDER BY
is_within_region DESC, is_within_region DESC,
distance_meters distance_meters