public class org.hibernate.internal.SessionFactoryRegistry
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.internal.SessionFactoryRegistry
super_class: java.lang.Object
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.hibernate.internal.SessionFactoryRegistry INSTANCE;
descriptor: Lorg/hibernate/internal/SessionFactoryRegistry;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, org.hibernate.SessionFactory> sessionFactoryMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lorg/hibernate/SessionFactory;>;
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, java.lang.String> nameUuidXref;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/String;>;
private final javax.naming.event.NamespaceChangeListener listener;
descriptor: Ljavax/naming/event/NamespaceChangeListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/internal/SessionFactoryRegistry;
invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
putstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
1: new org.hibernate.internal.SessionFactoryRegistry
dup
invokespecial org.hibernate.internal.SessionFactoryRegistry.<init>:()V
putstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.hibernate.internal.SessionFactoryRegistry.nameUuidXref:Ljava/util/concurrent/ConcurrentHashMap;
3: aload 0
new org.hibernate.internal.SessionFactoryRegistry$1
dup
aload 0
invokespecial org.hibernate.internal.SessionFactoryRegistry$1.<init>:(Lorg/hibernate/internal/SessionFactoryRegistry;)V
putfield org.hibernate.internal.SessionFactoryRegistry.listener:Ljavax/naming/event/NamespaceChangeListener;
4: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Initializing SessionFactoryRegistry : %s"
aload 0
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
public void addSessionFactory(java.lang.String, java.lang.String, boolean, org.hibernate.SessionFactory, org.hibernate.engine.jndi.spi.JndiService);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/SessionFactory;Lorg/hibernate/engine/jndi/spi/JndiService;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "SessionFactory UUID cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Registering SessionFactory: %s (%s)"
aload 1
aload 2
ifnonnull 3
ldc "<unnamed>"
goto 4
StackMap locals: org.hibernate.internal.SessionFactoryRegistry java.lang.String java.lang.String int org.hibernate.SessionFactory org.hibernate.engine.jndi.spi.JndiService
StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String
3: aload 2
StackMap locals: org.hibernate.internal.SessionFactoryRegistry java.lang.String java.lang.String int org.hibernate.SessionFactory org.hibernate.engine.jndi.spi.JndiService
StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String java.lang.String
4: invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 4
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 2
ifnull 8
7: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.nameUuidXref:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
aload 2
ifnull 9
iload 3
ifne 11
9: StackMap locals:
StackMap stack:
getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Not binding SessionFactory to JNDI, no JNDI name configured"
invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
10: return
11: StackMap locals:
StackMap stack:
getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Attempting to bind SessionFactory [%s] to JNDI"
aload 2
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 5
aload 2
aload 4
invokeinterface org.hibernate.engine.jndi.spi.JndiService.bind:(Ljava/lang/String;Ljava/lang/Object;)V
13: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 2
invokeinterface org.hibernate.internal.CoreMessageLogger.factoryBoundToJndiName:(Ljava/lang/String;)V
14: aload 5
aload 2
aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.listener:Ljavax/naming/event/NamespaceChangeListener;
invokeinterface org.hibernate.engine.jndi.spi.JndiService.addListener:(Ljava/lang/String;Ljavax/naming/event/NamespaceChangeListener;)V
15: goto 24
16: StackMap locals:
StackMap stack: java.lang.Exception
pop
17: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
invokeinterface org.hibernate.internal.CoreMessageLogger.couldNotBindJndiListener:()V
18: goto 24
19: StackMap locals:
StackMap stack: org.hibernate.engine.jndi.JndiNameException
astore 6
start local 6 20: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 2
aload 6
invokeinterface org.hibernate.internal.CoreMessageLogger.invalidJndiName:(Ljava/lang/String;Lorg/hibernate/engine/jndi/JndiNameException;)V
end local 6 21: goto 24
22: StackMap locals:
StackMap stack: org.hibernate.engine.jndi.JndiException
astore 6
start local 6 23: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 6
invokeinterface org.hibernate.internal.CoreMessageLogger.unableToBindFactoryToJndi:(Lorg/hibernate/engine/jndi/JndiException;)V
end local 6 24: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
0 25 1 uuid Ljava/lang/String;
0 25 2 name Ljava/lang/String;
0 25 3 isNameAlsoJndiName Z
0 25 4 instance Lorg/hibernate/SessionFactory;
0 25 5 jndiService Lorg/hibernate/engine/jndi/spi/JndiService;
20 21 6 e Lorg/hibernate/engine/jndi/JndiNameException;
23 24 6 e Lorg/hibernate/engine/jndi/JndiException;
Exception table:
from to target type
14 15 16 Class java.lang.Exception
12 18 19 Class org.hibernate.engine.jndi.JndiNameException
12 18 22 Class org.hibernate.engine.jndi.JndiException
MethodParameters:
Name Flags
uuid
name
isNameAlsoJndiName
instance
jndiService
public void removeSessionFactory(java.lang.String, java.lang.String, boolean, org.hibernate.engine.jndi.spi.JndiService);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/engine/jndi/spi/JndiService;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 12
1: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.nameUuidXref:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: iload 3
ifeq 12
3: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Unbinding SessionFactory from JNDI : %s"
aload 2
invokeinterface org.hibernate.internal.CoreMessageLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 4
aload 2
invokeinterface org.hibernate.engine.jndi.spi.JndiService.unbind:(Ljava/lang/String;)V
5: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 2
invokeinterface org.hibernate.internal.CoreMessageLogger.factoryUnboundFromJndiName:(Ljava/lang/String;)V
6: goto 12
7: StackMap locals:
StackMap stack: org.hibernate.engine.jndi.JndiNameException
astore 5
start local 5 8: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 2
aload 5
invokeinterface org.hibernate.internal.CoreMessageLogger.invalidJndiName:(Ljava/lang/String;Lorg/hibernate/engine/jndi/JndiNameException;)V
end local 5 9: goto 12
10: StackMap locals:
StackMap stack: org.hibernate.engine.jndi.JndiException
astore 5
start local 5 11: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 5
invokeinterface org.hibernate.internal.CoreMessageLogger.unableToUnbindFactoryFromJndi:(Lorg/hibernate/engine/jndi/JndiException;)V
end local 5 12: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
0 14 1 uuid Ljava/lang/String;
0 14 2 name Ljava/lang/String;
0 14 3 isNameAlsoJndiName Z
0 14 4 jndiService Lorg/hibernate/engine/jndi/spi/JndiService;
8 9 5 e Lorg/hibernate/engine/jndi/JndiNameException;
11 12 5 e Lorg/hibernate/engine/jndi/JndiException;
Exception table:
from to target type
3 6 7 Class org.hibernate.engine.jndi.JndiNameException
3 6 10 Class org.hibernate.engine.jndi.JndiException
MethodParameters:
Name Flags
uuid
name
isNameAlsoJndiName
jndiService
public org.hibernate.SessionFactory getNamedSessionFactory(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/hibernate/SessionFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Lookup: name=%s"
aload 1
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.nameUuidXref:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aload 2
ifnonnull 3
aconst_null
goto 4
StackMap locals: java.lang.String
StackMap stack:
3: aload 0
aload 2
invokevirtual org.hibernate.internal.SessionFactoryRegistry.getSessionFactory:(Ljava/lang/String;)Lorg/hibernate/SessionFactory;
StackMap locals:
StackMap stack: org.hibernate.SessionFactory
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
0 5 1 name Ljava/lang/String;
2 5 2 uuid Ljava/lang/String;
MethodParameters:
Name Flags
name
public org.hibernate.SessionFactory getSessionFactory(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/hibernate/SessionFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Lookup: uid=%s"
aload 1
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hibernate.SessionFactory
astore 2
start local 2 2: aload 2
ifnonnull 5
getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
ifeq 5
3: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Not found: %s"
aload 1
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
4: getstatic org.hibernate.internal.SessionFactoryRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals: org.hibernate.SessionFactory
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
0 6 1 uuid Ljava/lang/String;
2 6 2 sessionFactory Lorg/hibernate/SessionFactory;
MethodParameters:
Name Flags
uuid
public boolean hasRegistrations();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
public void clearRegistrations();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.nameUuidXref:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.clear:()V
1: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: org.hibernate.internal.SessionFactoryRegistry top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.SessionFactory
astore 1
start local 1 3: aload 1
invokeinterface org.hibernate.SessionFactory.close:()V
4: goto 6
5: StackMap locals: org.hibernate.internal.SessionFactoryRegistry org.hibernate.SessionFactory java.util.Iterator
StackMap stack: java.lang.Exception
pop
end local 1 6: StackMap locals: org.hibernate.internal.SessionFactoryRegistry top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 0
getfield org.hibernate.internal.SessionFactoryRegistry.sessionFactoryMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.clear:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hibernate/internal/SessionFactoryRegistry;
3 6 1 factory Lorg/hibernate/SessionFactory;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
}
SourceFile: "SessionFactoryRegistry.java"
NestMembers:
org.hibernate.internal.SessionFactoryRegistry$1 org.hibernate.internal.SessionFactoryRegistry$ObjectFactoryImpl
InnerClasses:
org.hibernate.internal.SessionFactoryRegistry$1
public ObjectFactoryImpl = org.hibernate.internal.SessionFactoryRegistry$ObjectFactoryImpl of org.hibernate.internal.SessionFactoryRegistry