| To get started, run |
| |
| cd source/com/maxmind/geoip/ |
| javac *.java |
| cd - |
| CLASSPATH=".:source" javac *.java |
| CLASSPATH=".:source" java CountryLookupTest |
| |
| By default, CountryLookupTest expects to find the |
| GeoIP Country database in /usr/local/share/GeoIP/GeoIP.dat |
| |
| IMPORTANT API Change for 1.1.x users - as of GeoIP 1.1.0 the |
| lookupCountryXxxx methods return null if a country can not |
| be found (it used to return '--' or 'N/A'. Be sure to check the |
| return value for null ! |
| |
| This is version 1.2.3 of the Java interface to GeoIP. For more information |
| see http://www.maxmind.com/ |
| |
| As of version 1.1.4 this API is fully thread safe. |
| |
| To get started for GeoIP Country, look at the code in CountryLookupTest.java. |
| |
| CityLookupTest.java contains an example for the MaxMind GeoIP City database. |
| OrgLookupTest.java contains examples for the GeoIP Organization and ISP databases. |
| RegionLookupTest.java contains an example for the MaxMind GeoIP Region database. |
| NetspeedLookupTest.java contains an example for the MaxMind GeoIP Netspeed database. |
| |
| BenchmarkGeoIP.java contains benchmarks for various databases using various options. |
| |
| Note that CountryLookupTest assumes that you have the GeoIP Country database |
| installed at /usr/local/share/GeoIP/GeoIP.dat |
| |
| A free GeoLite Country database is available from: |
| http://www.maxmind.com/app/geoip_country |
| |
| A free GeoLite City database is available from: |
| http://www.maxmind.com/app/geolitecity |
| |
| MaxMind GeoIP Country offers greater accuracy over the free database. |
| MaxMind GeoIP Country, Region, City, ISP, and Organization are available |
| for purchase from here: |
| http://www.maxmind.com/app/products |
| |
| Please send any comments to support@maxmind.com |
| |
| To generate the JAR file, cd to the source directory and run |
| |
| jar cf maxmindgeoip.jar com/maxmind/geoip/Country.class com/maxmind/geoip/DatabaseInfo.class com/maxmind/geoip/Location.class com/maxmind/geoip/LookupService.class com/maxmind/geoip/Region.class com/maxmind/geoip/regionName.class com/maxmind/geoip/timeZone.class |
| |
| MEMORY CACHING AND OTHER OPTIONS |
| ================================ |
| The following options can be passed as the second parameter to the |
| LookupService constructor: |
| |
| GEOIP_STANDARD - read database from filesystem, uses least memory. |
| |
| GEOIP_MEMORY_CACHE - load database into memory, faster performance |
| but uses more memory |
| |
| GEOIP_CHECK_CACHE - check for updated database. If database has been updated, |
| reload filehandle and/or memory cache. |
| |
| GEOIP_INDEX_CACHE - just cache |
| the most frequently accessed index portion of the database, resulting |
| in faster lookups than GEOIP_STANDARD, but less memory usage than |
| GEOIP_MEMORY_CACHE - useful for larger databases such as |
| GeoIP Organization and GeoIP City. Note, for GeoIP Country, Region |
| and Netspeed databases, GEOIP_INDEX_CACHE is equivalent to GEOIP_MEMORY_CACHE |
| |
| Note the options can be combined, for example: |
| LookupService cl = new LookupService(dbfile, LookupService.GEOIP_MEMORY_CACHE | LookupService.GEOIP_CHECK_CACHE); |
| |
| Windows Notes |
| ======================== |
| If it doesn't work on Windows, try to remove or comment out all the "package com.maxmind.geoip" lines |
| from all the files. |