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.
This commit is contained in:
parent
4b2f361026
commit
dfe4b083f0
@ -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…
x
Reference in New Issue
Block a user