I got the following error when running the same code that worked just fine in 3.0 on 3.1 alpha:
Exception in thread "Thread-7" java.lang.RuntimeException: Serializer registry locked trying to register class:class com.jme3.network.message.SerializerRegistrationsMessage
at com.jme3.network.serializing.Serializer.registerClassForId(Serializer.java:195)
at com.jme3.network.serializing.Serializer.registerClass(Serializer.java:237)
at com.jme3.network.serializing.Serializer.registerClass(Serializer.java:151)
at com.jme3.network.service.serializer.ClientSerializerRegistrationsService.onInitialize(ClientSerializerRegistrationsService.java:57)
at com.jme3.network.service.serializer.ClientSerializerRegistrationsService.onInitialize(ClientSerializerRegistrationsService.java:49)
at com.jme3.network.service.AbstractService.initialize(AbstractService.java:74)
at com.jme3.network.service.AbstractService.initialize(AbstractService.java:44)
at com.jme3.network.service.ServiceManager.addService(ServiceManager.java:110)
at com.jme3.network.service.ClientServiceManager.addService(ClientServiceManager.java:75)
at com.jme3.network.base.DefaultClient.addStandardServices(DefaultClient.java:103)
at com.jme3.network.base.DefaultClient.<init>(DefaultClient.java:92)
at com.jme3.network.base.DefaultClient.<init>(DefaultClient.java:98)
at com.jme3.network.Network.connectToServer(Network.java:167)
at fpc.states.FPSState.connectToServer(FPSState.java:682)
at fpc.states.FPSState.simpleInitApp(FPSState.java:314)
at fpc.states.FPSState.start(FPSState.java:374)
at fpc.Main.startFPS(Main.java:167)
at fpc.states.MainMenuState$2.run(MainMenuState.java:108)
at java.lang.Thread.run(Thread.java:745)
As I said before, this was working just fine on 3.0. Anything change about message serialization that I’m missing? The first entry in the stack trace that references my own code is at fpc.states.FPSState.connectToServer(FPSState.java:682), which looks like this:
client = Network.connectToServer(GAME_NAME, GAME_VERSION, ip, tcp, udp);
ip is a string, tcp and udp are ints. Name and version are static strings. Is this just a bug? If so, where should I be reporting thoes?