Maxmind的Java API getOrg在Google App Engine中会导致IOExceptions,但在标准Java中则不然



我从Maxmind购买了GeoIP ISP数据库的站点许可证,并决定在我的谷歌应用程序引擎项目中实现它。

我用一个常规Java项目测试了我自己的外部IP,该项目使用了相同的API/JAR,并能够将其解析为Comcast。

在谷歌应用引擎中实现它一直很痛苦。使用相同的调用(我自己的外部IP),我收到了各种IOException,特别是每当使用标准LookupService(从文件读取)时的EOFEException,以及每当使用基于内存的LookupService时的OutOfBoundsArray Exception。

一些具体信息:数据库文件大小应该不是问题。大约3毫巴。您可以在这里找到开源的API:https://github.com/maxmind/geoip-api-java

我最终会弄清楚这个问题,但它似乎相当低,所以可能需要一些时间。我想知道是否还有其他人有任何问题。

更新-我刚刚确认了.dat文件的MD5更改,无论何时使用Commons Codec 1.8 DigestUtils.md5Hex.进行检查

它与工作文件的MD5不同。

已修复。。。

出于某种原因,在我的WEB-INF中有.dat文件会对它产生重大影响。MD5校验和不相同。

将其从上面的一个根目录移到我的"webapp"文件夹中,该文件夹包含WEB-INF,不知何故躲过了文件的更改和MD5验证。。。

可能需要向谷歌提交一个bug,或者我完全误解了一些东西。。。

更新:经过进一步的反思,我决定这可能是我的WEB-INF使用的文本集。。。UTF-8。这是我唯一能想到的。

相关内容

  • 没有找到相关文章

最新更新