Integer.MAX_VALUE
is 2147483647 (that's obviously less than 2306416072). I think the reader is not the problem; either writing went wrong or you manually added some new elements to your XML file and forgot to update the type definition. I think the latter is the case, because I just tried the following:
gremlin> g = new TinkerGraph()
==>tinkergraph[vertices:0 edges:0]
gremlin> g.addVertex(["num":123])
==>v[0]
gremlin> g.addVertex(["num":2306416072])
==>v[1]
gremlin> g.v(0).num.getClass()
==>class java.lang.Integer
gremlin> g.v(1).num.getClass()
==>class java.lang.Long
gremlin> g.saveGraphML("/tmp/numtest.xml")
==>null
gremlin> h = new TinkerGraph()
==>tinkergraph[vertices:0 edges:0]
gremlin> h.loadGraphML("/tmp/numtest.xml")
==>null
gremlin> h.V().map()
==>{num=2306416072}
==>{num=123}
gremlin> h.v(0).num.getClass()
==>class java.lang.Long
gremlin> h.v(1).num.getClass()
==>class java.lang.Long
How does the type definition at the beginning of your XML look like? For the numtest.xml created above it's:
<key id="num" for="node" attr.name="num" attr.type="long"></key>
Cheers, Daniel