perf:优化ip2region,改为从服务器下载db文件,而不是打包到项目中

This commit is contained in:
yz
2023-01-09 22:50:47 +08:00
parent 53e35ccb52
commit dd87b00612
14 changed files with 101 additions and 47 deletions

View File

@@ -1,12 +1,9 @@
package com.tiesheng.util.ip2region;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.resource.ClassPathResource;
import cn.hutool.extra.spring.SpringUtil;
import com.tiesheng.util.config.Ip2regionConfig;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.nio.charset.StandardCharsets;
@@ -51,15 +48,8 @@ public class Ip2Region {
public Ip2Region() {
this.dbConfig = new DbConfig();
try {
ClassPathResource cpr = new ClassPathResource("ipdb/ip2region.db");
InputStream inputStream = cpr.getStream();
File tempFile = File.createTempFile("ip2region", ".db");
try {
FileUtil.writeFromStream(inputStream, tempFile);
} finally {
IoUtil.close(inputStream);
}
raf = new RandomAccessFile(tempFile, "r");
Ip2regionConfig ip2regionConfig = SpringUtil.getBean(Ip2regionConfig.class);
raf = ip2regionConfig.getDbAccessFile();
} catch (Exception ignored) {
}
}