This produces the following exception (irrelevant sections removed):
java.lang.ClassCastException: Cannot cast com.jme3.network.service.rmi.RmiRegistry$SharedObject to myproject.networking.Heartbeat
I took a look at RmiRegistry, and sure enough, on line 197:
where type is the class parameter and local.byName is a map with a type parameter of SharedObject, which is just a container for the actual shared object + metadata.
Unless I’m missing something, this could be fixed to produce its intended behavior by changing RmiRegistry:197 to:
True, but in a non-trivial server setup it’s nice to be able to toss the shared objects at the RMI service and grab them later when you need them - it tracks connection → object associations already, so setting them as connection data is just more work that you don’t need to be doing (and isn’t type safe besides).
Sure thing, but it’ll come later tonight or tomorrow - believe it or not, I don’t have a personal GitHub account. I have one for my day job, but I use BitBucket for my own projects so the need hasn’t really come up yet. I’ve been meaning to spend some time here and there hunting down issues in jME though, so it’s time to make one.
I saw that too - it’s failing on some Android specific things. Something about native bullet libraries, if I remember correctly. Those started one or two PRs down the line before mine, and I PR’d against the most recent main branch commit at the time.