Added a check to try and detect the case where a server and

a client are running on the same instance.  This should cover
99% of the cases where this would come up... and the others
can't really use this service anyway and so must disable it.
cleanup_build_scripts
Paul Speed 9 years ago
parent 4b2f361026
commit dfe4b083f0
  1. 18
      jme3-networking/src/main/java/com/jme3/network/message/SerializerRegistrationsMessage.java

@ -133,6 +133,24 @@ public class SerializerRegistrationsMessage extends AbstractMessage {
} }
public void registerAll() { public void registerAll() {
// See if we will have problems because our registry is locked
if( Serializer.isReadOnly() ) {
// Check to see if maybe we are executing this from the
// same JVM that sent the message, ie: client and server are running on
// the same JVM
// There could be more advanced checks than this but for now we'll
// assume that if the registry was compiled here then it means
// we are also the server process. Note that this wouldn't hold true
// under complicated examples where there are clients of one server
// that also run their own servers but realistically they would have
// to disable the ServerSerializerRegistrationsServer anyway.
if( compiled != null ) {
log.log( Level.INFO, "Skipping registration as registry is locked, presumably by a local server process.");
return;
}
}
for( Registration reg : registrations ) { for( Registration reg : registrations ) {
log.log( Level.INFO, "Registering:{0}", reg); log.log( Level.INFO, "Registering:{0}", reg);
reg.register(); reg.register();

Loading…
Cancel
Save