If anybody else is looking for an APNs library in Java, we at RelayRides just released Pushy (http://relayrides.github.io/pushy/). It does some things differently than the other two contenders (like async network IO), so it can send large numbers of messages really quickly. We actually use it in production, too, so it's actively maintained by our engineers. Enjoy!
EDIT: To be clear, Pushy is free and open-source (MIT license).