public abstract class org.springframework.remoting.rmi.RmiClientInterceptorUtils
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.remoting.rmi.RmiClientInterceptorUtils
super_class: java.lang.Object
{
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/springframework/remoting/rmi/RmiClientInterceptorUtils;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.logger:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/remoting/rmi/RmiClientInterceptorUtils;
public static java.lang.Object invokeRemoteMethod(org.aopalliance.intercept.MethodInvocation, java.lang.Object);
descriptor: (Lorg/aopalliance/intercept/MethodInvocation;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.aopalliance.intercept.MethodInvocation.getMethod:()Ljava/lang/reflect/Method;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 4
2: aload 2
aload 1
aload 0
invokeinterface org.aopalliance.intercept.MethodInvocation.getArguments:()[Ljava/lang/Object;
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
3: areturn
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 5: aload 3
aload 1
aload 0
invokeinterface org.aopalliance.intercept.MethodInvocation.getArguments:()[Ljava/lang/Object;
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
6: areturn
end local 3 7: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 3
start local 3 8: aload 3
athrow
end local 3 9: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 3
start local 3 10: new org.springframework.remoting.RemoteProxyFailureException
dup
new java.lang.StringBuilder
dup
ldc "No matching RMI stub method found for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial org.springframework.remoting.RemoteProxyFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 12: new org.springframework.remoting.RemoteProxyFailureException
dup
new java.lang.StringBuilder
dup
ldc "Invocation of RMI stub method failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial org.springframework.remoting.RemoteProxyFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 invocation Lorg/aopalliance/intercept/MethodInvocation;
0 13 1 stub Ljava/lang/Object;
1 13 2 method Ljava/lang/reflect/Method;
5 7 3 stubMethod Ljava/lang/reflect/Method;
8 9 3 ex Ljava/lang/reflect/InvocationTargetException;
10 11 3 ex Ljava/lang/NoSuchMethodException;
12 13 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
1 3 7 Class java.lang.reflect.InvocationTargetException
4 6 7 Class java.lang.reflect.InvocationTargetException
1 3 9 Class java.lang.NoSuchMethodException
4 6 9 Class java.lang.NoSuchMethodException
1 3 11 Class java.lang.Throwable
4 6 11 Class java.lang.Throwable
Exceptions:
throws java.lang.reflect.InvocationTargetException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
invocation
stub
public static java.lang.Exception convertRmiAccessException(java.lang.reflect.Method, java.lang.Throwable, java.lang.String);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Exception;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 2
1: getstatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.logger:Lorg/apache/commons/logging/Log;
aload 2
aload 1
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/rmi/RemoteException;
invokestatic org.springframework.util.ReflectionUtils.declaresException:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
ifeq 4
3: new java.rmi.RemoteException
dup
aload 2
aload 1
invokespecial java.rmi.RemoteException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
4: StackMap locals:
StackMap stack:
new org.springframework.remoting.RemoteAccessException
dup
aload 2
aload 1
invokespecial org.springframework.remoting.RemoteAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 method Ljava/lang/reflect/Method;
0 5 1 ex Ljava/lang/Throwable;
0 5 2 message Ljava/lang/String;
MethodParameters:
Name Flags
method
ex
message
public static java.lang.Exception convertRmiAccessException(java.lang.reflect.Method, java.rmi.RemoteException, java.lang.String);
descriptor: (Ljava/lang/reflect/Method;Ljava/rmi/RemoteException;Ljava/lang/String;)Ljava/lang/Exception;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokestatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.isConnectFailure:(Ljava/rmi/RemoteException;)Z
aload 2
invokestatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.convertRmiAccessException:(Ljava/lang/reflect/Method;Ljava/rmi/RemoteException;ZLjava/lang/String;)Ljava/lang/Exception;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljava/lang/reflect/Method;
0 1 1 ex Ljava/rmi/RemoteException;
0 1 2 serviceName Ljava/lang/String;
MethodParameters:
Name Flags
method
ex
serviceName
public static java.lang.Exception convertRmiAccessException(java.lang.reflect.Method, java.rmi.RemoteException, boolean, java.lang.String);
descriptor: (Ljava/lang/reflect/Method;Ljava/rmi/RemoteException;ZLjava/lang/String;)Ljava/lang/Exception;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 2
1: getstatic org.springframework.remoting.rmi.RmiClientInterceptorUtils.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Remote service ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] threw exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ReflectionUtils.declaresException:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
iload 2
ifeq 6
5: new org.springframework.remoting.RemoteConnectFailureException
dup
new java.lang.StringBuilder
dup
ldc "Could not connect to remote service ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial org.springframework.remoting.RemoteConnectFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
6: StackMap locals:
StackMap stack:
new org.springframework.remoting.RemoteAccessException
dup
new java.lang.StringBuilder
dup
ldc "Could not access remote service ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial org.springframework.remoting.RemoteAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 method Ljava/lang/reflect/Method;
0 7 1 ex Ljava/rmi/RemoteException;
0 7 2 isConnectFailure Z
0 7 3 serviceName Ljava/lang/String;
MethodParameters:
Name Flags
method
ex
isConnectFailure
serviceName
public static boolean isConnectFailure(java.rmi.RemoteException);
descriptor: (Ljava/rmi/RemoteException;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.rmi.ConnectException
ifne 4
aload 0
instanceof java.rmi.ConnectIOException
ifne 4
1: aload 0
instanceof java.rmi.UnknownHostException
ifne 4
aload 0
instanceof java.rmi.NoSuchObjectException
ifne 4
2: aload 0
instanceof java.rmi.StubNotFoundException
ifne 4
aload 0
invokevirtual java.rmi.RemoteException.getCause:()Ljava/lang/Throwable;
instanceof java.net.SocketException
ifne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ex Ljava/rmi/RemoteException;
MethodParameters:
Name Flags
ex
}
SourceFile: "RmiClientInterceptorUtils.java"