在我看来,GoogleAppEngine 不支持 Java 的“NetworkInterface”——考虑到 GAE 对 Java .net 的支持有限,我想这并不奇怪。但是,我确实想使用 BSON Java 库将我的字符串转换为 BSON 对象(ObjectID)。问题是它使用以下内容作为 ObjectId 生成的一部分:
StringBuilder sb = new StringBuilder();
Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
while ( e.hasMoreElements() ){
NetworkInterface ni = e.nextElement();
sb.append( ni.toString() );
}
machinePiece = sb.toString().hashCode() << 16;
这在使用 GoogleAppEngine 时显然是有问题的。有谁知道我可以在上述情况下使用的 GAE 支持的NetworkInterface的替代方案?
这真的让我把头发扯掉了!
作为参考,有问题的代码出现在以下文件的第 356 行和第 362 行之间: https://github.com/mongodb/mongo-java-driver/blob/2.11.x/src/main/org/bson/types/ObjectId。爪哇