public class javax.management.remote.rmi.RMIJRMPServerImpl extends javax.management.remote.rmi.RMIServerImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.management.remote.rmi.RMIJRMPServerImpl
super_class: javax.management.remote.rmi.RMIServerImpl
{
private final javax.management.remote.rmi.RMIJRMPServerImpl$ExportedWrapper exportedWrapper;
descriptor: Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int port;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.rmi.server.RMIClientSocketFactory csf;
descriptor: Ljava/rmi/server/RMIClientSocketFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.rmi.server.RMIServerSocketFactory ssf;
descriptor: Ljava/rmi/server/RMIServerSocketFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, ?> env;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;*>;
public void <init>(int, java.rmi.server.RMIClientSocketFactory, java.rmi.server.RMIServerSocketFactory, java.util.Map<java.lang.String, ?>);
descriptor: (ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokespecial javax.management.remote.rmi.RMIServerImpl.<init>:(Ljava/util/Map;)V
1: iload 1
ifge 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Negative port: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map
StackMap stack:
aload 0
iload 1
putfield javax.management.remote.rmi.RMIJRMPServerImpl.port:I
4: aload 0
aload 2
putfield javax.management.remote.rmi.RMIJRMPServerImpl.csf:Ljava/rmi/server/RMIClientSocketFactory;
5: aload 0
aload 3
putfield javax.management.remote.rmi.RMIJRMPServerImpl.ssf:Ljava/rmi/server/RMIServerSocketFactory;
6: aload 0
aload 4
ifnonnull 7
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
goto 8
StackMap locals:
StackMap stack: javax.management.remote.rmi.RMIJRMPServerImpl
7: aload 4
StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map
StackMap stack: javax.management.remote.rmi.RMIJRMPServerImpl java.util.Map
8: putfield javax.management.remote.rmi.RMIJRMPServerImpl.env:Ljava/util/Map;
9: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.env:Ljava/util/Map;
ldc "jmx.remote.rmi.server.credential.types"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String[]
10: astore 5
start local 5 11: aconst_null
astore 6
start local 6 12: aload 5
ifnull 22
13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
14: aload 5
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 21
StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map java.lang.String[] java.util.List top int int java.lang.String[]
StackMap stack:
15: aload 10
iload 8
aaload
astore 7
start local 7 16: aload 7
ifnonnull 18
17: new java.lang.IllegalArgumentException
dup
ldc "A credential type is null."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map java.lang.String[] java.util.List java.lang.String int int java.lang.String[]
StackMap stack:
aload 7
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/String;)V
19: aload 6
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 20: iinc 8 1
StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map java.lang.String[] java.util.List top int int java.lang.String[]
StackMap stack:
21: iload 8
iload 9
if_icmplt 15
22: StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map java.lang.String[] java.util.List
StackMap stack:
aload 0
aload 6
ifnull 24
23: new javax.management.remote.rmi.RMIJRMPServerImpl$ExportedWrapper
dup
aload 0
aload 6
invokespecial javax.management.remote.rmi.RMIJRMPServerImpl$ExportedWrapper.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/List;)V
goto 25
24: StackMap locals:
StackMap stack: javax.management.remote.rmi.RMIJRMPServerImpl
aconst_null
25: StackMap locals: javax.management.remote.rmi.RMIJRMPServerImpl int java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory java.util.Map java.lang.String[] java.util.List
StackMap stack: javax.management.remote.rmi.RMIJRMPServerImpl javax.management.remote.rmi.RMIJRMPServerImpl$ExportedWrapper
putfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
26: return
end local 6 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 27 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
0 27 1 port I
0 27 2 csf Ljava/rmi/server/RMIClientSocketFactory;
0 27 3 ssf Ljava/rmi/server/RMIServerSocketFactory;
0 27 4 env Ljava/util/Map<Ljava/lang/String;*>;
11 27 5 credentialsTypes [Ljava/lang/String;
12 27 6 types Ljava/util/List<Ljava/lang/String;>;
16 20 7 type Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
port
csf
ssf
env
protected void export();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
ifnull 3
1: aload 0
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.export:(Ljava/rmi/Remote;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.export:(Ljava/rmi/Remote;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
Exceptions:
throws java.io.IOException
private void export(java.rmi.Remote);
descriptor: (Ljava/rmi/Remote;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.env:Ljava/util/Map;
ldc "com.sun.jmx.remote.rmi.exporter"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jmx.remote.internal.RMIExporter
1: astore 2
start local 2 2: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.env:Ljava/util/Map;
invokestatic com.sun.jmx.remote.util.EnvHelp.isServerDaemon:(Ljava/util/Map;)Z
istore 3
start local 3 3: iload 3
ifeq 5
aload 2
ifnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "If jmx.remote.x.daemon is specified as true, com.sun.jmx.remote.rmi.exporter cannot be used to specify an exporter!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: com.sun.jmx.remote.internal.RMIExporter int
StackMap stack:
iload 3
ifeq 11
6: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.csf:Ljava/rmi/server/RMIClientSocketFactory;
ifnonnull 9
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.ssf:Ljava/rmi/server/RMIServerSocketFactory;
ifnonnull 9
7: new sun.rmi.server.UnicastServerRef
dup
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.port:I
invokespecial sun.rmi.server.UnicastServerRef.<init>:(I)V
aload 1
aconst_null
iconst_1
invokevirtual sun.rmi.server.UnicastServerRef.exportObject:(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
pop
8: goto 15
9: StackMap locals:
StackMap stack:
new sun.rmi.server.UnicastServerRef2
dup
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.port:I
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.csf:Ljava/rmi/server/RMIClientSocketFactory;
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.ssf:Ljava/rmi/server/RMIServerSocketFactory;
invokespecial sun.rmi.server.UnicastServerRef2.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
aload 1
aconst_null
iconst_1
invokevirtual sun.rmi.server.UnicastServerRef2.exportObject:(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
pop
10: goto 15
StackMap locals:
StackMap stack:
11: aload 2
ifnull 14
12: aload 2
aload 1
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.port:I
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.csf:Ljava/rmi/server/RMIClientSocketFactory;
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.ssf:Ljava/rmi/server/RMIServerSocketFactory;
invokeinterface com.sun.jmx.remote.internal.RMIExporter.exportObject:(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)Ljava/rmi/Remote;
pop
13: goto 15
14: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.port:I
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.csf:Ljava/rmi/server/RMIClientSocketFactory;
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.ssf:Ljava/rmi/server/RMIServerSocketFactory;
invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)Ljava/rmi/Remote;
pop
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
0 16 1 obj Ljava/rmi/Remote;
2 16 2 exporter Lcom/sun/jmx/remote/internal/RMIExporter;
3 16 3 daemon Z
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
obj
private void unexport(java.rmi.Remote, boolean);
descriptor: (Ljava/rmi/Remote;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.env:Ljava/util/Map;
ldc "com.sun.jmx.remote.rmi.exporter"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jmx.remote.internal.RMIExporter
1: astore 3
start local 3 2: aload 3
ifnonnull 4
3: aload 1
iload 2
invokestatic java.rmi.server.UnicastRemoteObject.unexportObject:(Ljava/rmi/Remote;Z)Z
pop
goto 5
4: StackMap locals: com.sun.jmx.remote.internal.RMIExporter
StackMap stack:
aload 3
aload 1
iload 2
invokeinterface com.sun.jmx.remote.internal.RMIExporter.unexportObject:(Ljava/rmi/Remote;Z)Z
pop
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
0 6 1 obj Ljava/rmi/Remote;
0 6 2 force Z
2 6 3 exporter Lcom/sun/jmx/remote/internal/RMIExporter;
Exceptions:
throws java.rmi.NoSuchObjectException
MethodParameters:
Name Flags
obj
force
protected java.lang.String getProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "rmi"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
public java.rmi.Remote toStub();
descriptor: ()Ljava/rmi/Remote;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
ifnull 2
1: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
invokestatic java.rmi.server.RemoteObject.toStub:(Ljava/rmi/Remote;)Ljava/rmi/Remote;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.rmi.server.RemoteObject.toStub:(Ljava/rmi/Remote;)Ljava/rmi/Remote;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
Exceptions:
throws java.io.IOException
protected javax.management.remote.rmi.RMIConnection makeClient(java.lang.String, javax.security.auth.Subject);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;)Ljavax/management/remote/rmi/RMIConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Null connectionId"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new javax.management.remote.rmi.RMIConnectionImpl
dup
aload 0
aload 1
aload 0
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.getDefaultClassLoader:()Ljava/lang/ClassLoader;
3: aload 2
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.env:Ljava/util/Map;
4: invokespecial javax.management.remote.rmi.RMIConnectionImpl.<init>:(Ljavax/management/remote/rmi/RMIServerImpl;Ljava/lang/String;Ljava/lang/ClassLoader;Ljavax/security/auth/Subject;Ljava/util/Map;)V
5: astore 3
start local 3 6: aload 0
aload 3
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.export:(Ljava/rmi/Remote;)V
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
0 8 1 connectionId Ljava/lang/String;
0 8 2 subject Ljavax/security/auth/Subject;
6 8 3 client Ljavax/management/remote/rmi/RMIConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
connectionId
subject
protected void closeClient(javax.management.remote.rmi.RMIConnection);
descriptor: (Ljavax/management/remote/rmi/RMIConnection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.unexport:(Ljava/rmi/Remote;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
0 2 1 client Ljavax/management/remote/rmi/RMIConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
client
protected void closeServer();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
ifnull 3
1: aload 0
aload 0
getfield javax.management.remote.rmi.RMIJRMPServerImpl.exportedWrapper:Ljavax/management/remote/rmi/RMIJRMPServerImpl$ExportedWrapper;
iconst_1
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.unexport:(Ljava/rmi/Remote;Z)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 0
iconst_1
invokevirtual javax.management.remote.rmi.RMIJRMPServerImpl.unexport:(Ljava/rmi/Remote;Z)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/management/remote/rmi/RMIJRMPServerImpl;
Exceptions:
throws java.io.IOException
}
SourceFile: "RMIJRMPServerImpl.java"
NestMembers:
javax.management.remote.rmi.RMIJRMPServerImpl$ExportedWrapper
InnerClasses:
private ExportedWrapper = javax.management.remote.rmi.RMIJRMPServerImpl$ExportedWrapper of javax.management.remote.rmi.RMIJRMPServerImpl