
Java, this lock will not be released when the DatabaseReader is closed it Due to the implementation of memory mapping in On Windows, this may create an exclusive lock on the file that prevents itįrom being renamed or deleted. Common Problems File Lock on Windowsīy default, this API uses the MEMORY_MAP mode, which memory maps the file. In suchĪpplications, we suggest creating one Reader object and sharing that among This API fully supports use in multi-threaded applications. Returned from the cache on subsequent lookups. If you mutate the objects, the mutated objects will be Please note that the cache will hold references to the objects createdĭuring the lookup. Reader reader = new Reader ( database, new CHMCache ()) Using this cache, lookup performance is significantly improved at the cost of A simple implementation is provided by .CHMCache. The database API supports pluggable caching (by default, no caching is Import .MaxMindDbConstructor import .MaxMindDbParameter import .Reader import .Record import java.io.File import java.io.IOException import public class Lookup Caching The creation of this object is relatively expensive as it must We recommend reusing the Reader object rather than creating a new one forĮach lookup. This method will create an instance of the class and Method on Reader, along with the class of the object you want toĭeserialize into. To look up an IP address, pass the address as an InetAddress to the get This often provides performance comparable to loading the file into The default mode is MEMORY_MAP, which maps the file to virtual May pass a second parameter with a FileMode with a value of MEMORY_MAP or The reader object takes a File representing your MaxMind DB.

To use the API, you must first create a Reader object. Note: For accessing MaxMind GeoIP2 databases, we generally recommend using
