diff --git a/binding/java/ReadMe.md b/binding/java/ReadMe.md index 3e532ed..8327ad2 100644 --- a/binding/java/ReadMe.md +++ b/binding/java/ReadMe.md @@ -20,14 +20,14 @@ import org.lionsoul.ip2region.service.Ip2Region; // 1, 创建 v4 的配置:指定缓存策略和 v4 的 xdb 文件路径 final Config v4Config = Config.custom() .setCachePolicy(Config.VIndexCache) // 指定缓存策略: NoCache / VIndexCache / BufferCache - .setSeachers(15) // 设置初始化的查询器数量 + .setSearchers(15) // 设置初始化的查询器数量 .setXdbPath("ip2region v4 xdb path") // 设置 v4 xdb 文件的路径 .asV4(); // 指定为 v4 配置 // 2, 创建 v6 的配置:指定缓存策略和 v6 的 xdb 文件路径 final Config v6Config = Config.custom() .setCachePolicy(Config.VIndexCache) // 指定缓存策略: NoCache / VIndexCache / BufferCache - .setSeachers(15) // 设置初始化的查询器数量 + .setSearchers(15) // 设置初始化的查询器数量 .setXdbPath("ip2region v6 xdb path") // 设置 v6 xdb 文件的路径 .asV6(); // 指定为 v6 配置 diff --git a/binding/java/src/main/java/org/lionsoul/ip2region/service/ConfigBuilder.java b/binding/java/src/main/java/org/lionsoul/ip2region/service/ConfigBuilder.java index 7db08d5..dd838bd 100644 --- a/binding/java/src/main/java/org/lionsoul/ip2region/service/ConfigBuilder.java +++ b/binding/java/src/main/java/org/lionsoul/ip2region/service/ConfigBuilder.java @@ -45,7 +45,7 @@ public class ConfigBuilder { return this; } - public ConfigBuilder setSeachers(int searchers) { + public ConfigBuilder setSearchers(int searchers) { this.searchers = searchers; return this; } @@ -80,4 +80,4 @@ public class ConfigBuilder { return build(Version.IPv6); } -} \ No newline at end of file +} diff --git a/binding/java/src/main/java/org/lionsoul/ip2region/service/SearcherPool.java b/binding/java/src/main/java/org/lionsoul/ip2region/service/SearcherPool.java index 7c954e6..48c7473 100644 --- a/binding/java/src/main/java/org/lionsoul/ip2region/service/SearcherPool.java +++ b/binding/java/src/main/java/org/lionsoul/ip2region/service/SearcherPool.java @@ -67,6 +67,13 @@ public class SearcherPool { return this; } + public int getLoanCount() { + lock.lock(); + int lc = this.loanCount; + lock.unlock(); + return lc; + } + public Searcher borrowSearcher() throws InterruptedException { lock.lock(); try { diff --git a/binding/java/src/test/java/org/lionsoul/ip2region/service/ConfigTest.java b/binding/java/src/test/java/org/lionsoul/ip2region/service/ConfigTest.java index 6325bbd..56a5b66 100644 --- a/binding/java/src/test/java/org/lionsoul/ip2region/service/ConfigTest.java +++ b/binding/java/src/test/java/org/lionsoul/ip2region/service/ConfigTest.java @@ -25,7 +25,7 @@ public class ConfigTest { final Config v4Config = Config.custom() .setCachePolicy(Config.BufferCache) .setXdbPath(getDataPath("ip2region_v4.xdb")) - .setSeachers(20) + .setSearchers(20) .asV4(); log.debugf("builded config: %s", v4Config); } @@ -35,8 +35,8 @@ public class ConfigTest { final Config v4Config = Config.custom() .setCachePolicy(Config.VIndexCache) .setXdbPath(getDataPath("ip2region_v6.xdb")) - .setSeachers(20) + .setSearchers(20) .asV6(); log.debugf("builded config: %s", v4Config); } -} \ No newline at end of file +} diff --git a/binding/java/src/test/java/org/lionsoul/ip2region/service/Ip2RegionTest.java b/binding/java/src/test/java/org/lionsoul/ip2region/service/Ip2RegionTest.java index af631ca..3650c37 100644 --- a/binding/java/src/test/java/org/lionsoul/ip2region/service/Ip2RegionTest.java +++ b/binding/java/src/test/java/org/lionsoul/ip2region/service/Ip2RegionTest.java @@ -19,13 +19,13 @@ public class Ip2RegionTest { public void TestConfigCreate() throws IOException, XdbException, InetAddressException, InterruptedException { final Config v4Config = Config.custom() .setCachePolicy(Config.NoCache) - .setSeachers(10) + .setSearchers(10) .setXdbPath(ConfigTest.getDataPath("ip2region_v4.xdb")) .asV4(); final Config v6Config = Config.custom() .setCachePolicy(Config.VIndexCache) - .setSeachers(10) + .setSearchers(10) .setXdbPath(ConfigTest.getDataPath("ip2region_v6.xdb")) .asV6(); @@ -92,13 +92,13 @@ public class Ip2RegionTest { public void TestConcurrentCall() throws IOException, XdbException, InetAddressException, InterruptedException { final Config v4Config = Config.custom() .setCachePolicy(Config.VIndexCache) - .setSeachers(15) + .setSearchers(15) .setXdbPath(ConfigTest.getDataPath("ip2region_v4.xdb")) .asV4(); final Config v6Config = Config.custom() .setCachePolicy(Config.VIndexCache) - .setSeachers(15) + .setSearchers(15) .setXdbPath(ConfigTest.getDataPath("ip2region_v6.xdb")) .asV6(); diff --git a/binding/java/src/test/java/org/lionsoul/ip2region/service/SearcherPoolTest.java b/binding/java/src/test/java/org/lionsoul/ip2region/service/SearcherPoolTest.java index 7e2965a..5d07761 100644 --- a/binding/java/src/test/java/org/lionsoul/ip2region/service/SearcherPoolTest.java +++ b/binding/java/src/test/java/org/lionsoul/ip2region/service/SearcherPoolTest.java @@ -9,14 +9,14 @@ public class SearcherPoolTest { private static final Log log = Log.getLogger(SearcherPoolTest.class).setLevel(Log.DEBUG); @Test - public void testV4SeacherPool() throws Exception { + public void testV4SearcherPool() throws Exception { final Config v4Config = Config.custom() .setCachePolicy(Config.VIndexCache) - .setSeachers(5) + .setSearchers(5) .setXdbPath(ConfigTest.getDataPath("ip2region_v4.xdb")) .asV4(); - + final String ipStr = "58.250.36.41"; final SearcherPool v4Pool = SearcherPool.create(v4Config); for (int i = 0; i < 20; i++) { @@ -33,14 +33,14 @@ public class SearcherPoolTest { } @Test - public void testV6SeacherPool() throws Exception { + public void testV6SearcherPool() throws Exception { final Config v6Config = Config.custom() .setCachePolicy(Config.VIndexCache) - .setSeachers(5) + .setSearchers(5) .setXdbPath(ConfigTest.getDataPath("ip2region_v6.xdb")) .asV6(); - + final String ipStr = "240e:3b7:3272:d8d0:db09:c067:8d59:539e"; final SearcherPool v4Pool = SearcherPool.create(v6Config); for (int i = 0; i < 20; i++) {