@ -94,7 +94,7 @@ public class SerializerRegistrationsMessage extends AbstractMessage {
public static Registration [ ] compiled ;
public static Registration [ ] compiled ;
private static final Serializer fieldSerializer = new FieldSerializer ( ) ;
private static final Serializer fieldSerializer = new FieldSerializer ( ) ;
private Registration [ ] registrations ;
private Registration [ ] registrations ;
public SerializerRegistrationsMessage ( ) {
public SerializerRegistrationsMessage ( ) {
setReliable ( true ) ;
setReliable ( true ) ;
@ -132,7 +132,25 @@ public class SerializerRegistrationsMessage extends AbstractMessage {
Serializer . setReadOnly ( true ) ;
Serializer . setReadOnly ( true ) ;
}
}
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 ( ) ;