public class org.springframework.remoting.rmi.RmiClientInterceptor extends org.springframework.remoting.support.RemoteInvocationBasedAccessor implements org.aopalliance.intercept.MethodInterceptor
{
private boolean lookupStubOnStartup;
private boolean cacheStub;
private boolean refreshStubOnConnectFailure;
private java.rmi.server.RMIClientSocketFactory registryClientSocketFactory;
private java.rmi.Remote cachedStub;
private final java.lang.Object stubMonitor;
public void <init>()
{
java.lang.Object v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
specialinvoke v.<org.springframework.remoting.support.RemoteInvocationBasedAccessor: void <init>()>();
v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean lookupStubOnStartup> = 1;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean cacheStub> = 1;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean refreshStubOnConnectFailure> = 0;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object stubMonitor> = v;
return;
}
public void setLookupStubOnStartup(boolean)
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
boolean v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: boolean;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean lookupStubOnStartup> = v;
return;
}
public void setCacheStub(boolean)
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
boolean v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: boolean;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean cacheStub> = v;
return;
}
public void setRefreshStubOnConnectFailure(boolean)
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
boolean v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: boolean;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean refreshStubOnConnectFailure> = v;
return;
}
public void setRegistryClientSocketFactory(java.rmi.server.RMIClientSocketFactory)
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
java.rmi.server.RMIClientSocketFactory v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: java.rmi.server.RMIClientSocketFactory;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.server.RMIClientSocketFactory registryClientSocketFactory> = v;
return;
}
public void afterPropertiesSet()
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
specialinvoke v.<org.springframework.remoting.support.RemoteInvocationBasedAccessor: void afterPropertiesSet()>();
virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: void prepare()>();
return;
}
public void prepare() throws org.springframework.remoting.RemoteLookupFailureException
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
java.rmi.Remote v;
java.lang.Class v, v, v;
org.apache.commons.logging.Log v, v, v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean lookupStubOnStartup>;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote lookupStub()>();
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v instanceof org.springframework.remoting.rmi.RmiInvocationHandler;
if v == 0 goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("RMI stub [\u] is an RMI invoker");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Class getServiceInterface()>();
if v == null goto label;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Class getServiceInterface()>();
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Class getServiceInterface()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
if v != 0 goto label;
v = "not ";
goto label;
label:
v = "";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Using service interface [\u] for RMI stub [\u] - \u0001directly implemented");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean cacheStub>;
if v == 0 goto label;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub> = v;
label:
return;
}
protected java.rmi.Remote lookupStub() throws org.springframework.remoting.RemoteLookupFailureException
{
java.net.URL v;
java.rmi.registry.Registry v;
java.rmi.NotBoundException v;
boolean v, v, v;
java.rmi.RemoteException v;
java.rmi.server.RMIClientSocketFactory v, v;
org.springframework.remoting.rmi.RmiClientInterceptor$DummyURLStreamHandler v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
int v;
org.springframework.remoting.RemoteLookupFailureException v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
java.rmi.Remote v;
java.net.MalformedURLException v, v;
org.apache.commons.logging.Log v, v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.server.RMIClientSocketFactory registryClientSocketFactory>;
if v == null goto label;
v = new java.net.URL;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = new org.springframework.remoting.rmi.RmiClientInterceptor$DummyURLStreamHandler;
specialinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor$DummyURLStreamHandler: void <init>()>();
specialinvoke v.<java.net.URL: void <init>(java.net.URL,java.lang.String,java.net.URLStreamHandler)>(null, v, v);
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
if v == null goto label;
v = "rmi";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.net.MalformedURLException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid URL scheme \'\u0001\'");
specialinvoke v.<java.net.MalformedURLException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.net.URL: java.lang.String getHost()>();
v = virtualinvoke v.<java.net.URL: int getPort()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getPath()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.server.RMIClientSocketFactory registryClientSocketFactory>;
v = staticinvoke <java.rmi.registry.LocateRegistry: java.rmi.registry.Registry getRegistry(java.lang.String,int,java.rmi.server.RMIClientSocketFactory)>(v, v, v);
v = interfaceinvoke v.<java.rmi.registry.Registry: java.rmi.Remote lookup(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = staticinvoke <java.rmi.Naming: java.rmi.Remote lookup(java.lang.String)>(v);
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Located RMI stub with URL [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.springframework.remoting.RemoteLookupFailureException;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Service URL [\u] is invalid");
specialinvoke v.<org.springframework.remoting.RemoteLookupFailureException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new org.springframework.remoting.RemoteLookupFailureException;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not find RMI service [\u] in RMI registry");
specialinvoke v.<org.springframework.remoting.RemoteLookupFailureException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new org.springframework.remoting.RemoteLookupFailureException;
specialinvoke v.<org.springframework.remoting.RemoteLookupFailureException: void <init>(java.lang.String,java.lang.Throwable)>("Lookup of RMI stub failed", v);
throw v;
catch java.net.MalformedURLException from label to label with label;
catch java.rmi.NotBoundException from label to label with label;
catch java.rmi.RemoteException from label to label with label;
}
protected java.rmi.Remote getStub() throws org.springframework.remoting.RemoteLookupFailureException
{
java.lang.Throwable v;
java.rmi.Remote v, v, v, v, v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean cacheStub>;
if v == 0 goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean lookupStubOnStartup>;
if v == 0 goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean refreshStubOnConnectFailure>;
if v != 0 goto label;
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub>;
if v == null goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub>;
goto label;
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote lookupStub()>();
label:
return v;
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object stubMonitor>;
entermonitor v;
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub>;
if v != null goto label;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote lookupStub()>();
v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub> = v;
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation) throws java.lang.Throwable
{
java.rmi.Remote v;
java.rmi.RemoteException v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
org.aopalliance.intercept.MethodInvocation v;
java.lang.Object v, v, v;
org.springframework.remoting.RemoteConnectFailureException v;
boolean v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: org.aopalliance.intercept.MethodInvocation;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote getStub()>();
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object doInvoke(org.aopalliance.intercept.MethodInvocation,java.rmi.Remote)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = specialinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object handleRemoteConnectFailure(org.aopalliance.intercept.MethodInvocation,java.lang.Exception)>(v, v);
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean isConnectFailure(java.rmi.RemoteException)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object handleRemoteConnectFailure(org.aopalliance.intercept.MethodInvocation,java.lang.Exception)>(v, v);
return v;
label:
throw v;
catch org.springframework.remoting.RemoteConnectFailureException from label to label with label;
catch java.rmi.RemoteException from label to label with label;
}
protected boolean isConnectFailure(java.rmi.RemoteException)
{
org.springframework.remoting.rmi.RmiClientInterceptor v;
boolean v;
java.rmi.RemoteException v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: java.rmi.RemoteException;
v = staticinvoke <org.springframework.remoting.rmi.RmiClientInterceptorUtils: boolean isConnectFailure(java.rmi.RemoteException)>(v);
return v;
}
private java.lang.Object handleRemoteConnectFailure(org.aopalliance.intercept.MethodInvocation, java.lang.Exception) throws java.lang.Throwable
{
java.lang.Exception v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
org.aopalliance.intercept.MethodInvocation v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: org.aopalliance.intercept.MethodInvocation;
v := @parameter: java.lang.Exception;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean refreshStubOnConnectFailure>;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not connect to RMI service [\u] - retrying");
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void warn(java.lang.Object,java.lang.Throwable)>(v, v);
goto label;
label:
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isWarnEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void warn(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object refreshAndRetry(org.aopalliance.intercept.MethodInvocation)>(v);
return v;
label:
throw v;
}
protected java.lang.Object refreshAndRetry(org.aopalliance.intercept.MethodInvocation) throws java.lang.Throwable
{
java.lang.Throwable v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
java.rmi.Remote v;
org.aopalliance.intercept.MethodInvocation v;
java.lang.Object v, v;
boolean v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: org.aopalliance.intercept.MethodInvocation;
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object stubMonitor>;
entermonitor v;
label:
v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub> = null;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote lookupStub()>();
v = v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean cacheStub>;
if v == 0 goto label;
v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.rmi.Remote cachedStub> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object doInvoke(org.aopalliance.intercept.MethodInvocation,java.rmi.Remote)>(v, v);
return v;
catch java.lang.Throwable from label to label with label;
}
protected java.lang.Object doInvoke(org.aopalliance.intercept.MethodInvocation, java.rmi.Remote) throws java.lang.Throwable
{
java.lang.Throwable v, v, v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
org.aopalliance.intercept.MethodInvocation v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v, v, v;
boolean v, v, v, v;
org.springframework.remoting.RemoteInvocationFailureException v;
java.rmi.Remote v;
java.lang.Exception v, v;
java.lang.reflect.InvocationTargetException v, v;
java.rmi.RemoteException v;
java.lang.Object v, v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: org.aopalliance.intercept.MethodInvocation;
v := @parameter: java.rmi.Remote;
v = v instanceof org.springframework.remoting.rmi.RmiInvocationHandler;
if v == 0 goto label;
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.Object doInvoke(org.aopalliance.intercept.MethodInvocation,org.springframework.remoting.rmi.RmiInvocationHandler)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = interfaceinvoke v.<org.aopalliance.intercept.MethodInvocation: java.lang.reflect.Method getMethod()>();
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean isConnectFailure(java.rmi.RemoteException)>(v);
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = staticinvoke <org.springframework.remoting.rmi.RmiClientInterceptorUtils: java.lang.Exception convertRmiAccessException(java.lang.reflect.Method,java.rmi.RemoteException,boolean,java.lang.String)>(v, v, v, v);
throw v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.reflect.InvocationTargetException: java.lang.Throwable getTargetException()>();
staticinvoke <org.springframework.remoting.support.RemoteInvocationUtils: void fillInClientStackTraceIfPossible(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v = new org.springframework.remoting.RemoteInvocationFailureException;
v = interfaceinvoke v.<org.aopalliance.intercept.MethodInvocation: java.lang.reflect.Method getMethod()>();
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.reflect.Method,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invocation of method [\u] failed in RMI service [\u]");
specialinvoke v.<org.springframework.remoting.RemoteInvocationFailureException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = staticinvoke <org.springframework.remoting.rmi.RmiClientInterceptorUtils: java.lang.Object invokeRemoteMethod(org.aopalliance.intercept.MethodInvocation,java.lang.Object)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.reflect.InvocationTargetException: java.lang.Throwable getTargetException()>();
v = v instanceof java.rmi.RemoteException;
if v == 0 goto label;
v = interfaceinvoke v.<org.aopalliance.intercept.MethodInvocation: java.lang.reflect.Method getMethod()>();
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: boolean isConnectFailure(java.rmi.RemoteException)>(v);
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = staticinvoke <org.springframework.remoting.rmi.RmiClientInterceptorUtils: java.lang.Exception convertRmiAccessException(java.lang.reflect.Method,java.rmi.RemoteException,boolean,java.lang.String)>(v, v, v, v);
throw v;
label:
throw v;
catch java.rmi.RemoteException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
}
protected java.lang.Object doInvoke(org.aopalliance.intercept.MethodInvocation, org.springframework.remoting.rmi.RmiInvocationHandler) throws java.rmi.RemoteException, java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
{
org.springframework.remoting.rmi.RmiInvocationHandler v;
org.springframework.remoting.support.RemoteInvocation v;
org.springframework.remoting.rmi.RmiClientInterceptor v;
org.aopalliance.intercept.MethodInvocation v;
java.lang.Object v;
java.lang.String v, v;
java.lang.reflect.Method v;
boolean v;
v := @this: org.springframework.remoting.rmi.RmiClientInterceptor;
v := @parameter: org.aopalliance.intercept.MethodInvocation;
v := @parameter: org.springframework.remoting.rmi.RmiInvocationHandler;
v = interfaceinvoke v.<org.aopalliance.intercept.MethodInvocation: java.lang.reflect.Method getMethod()>();
v = staticinvoke <org.springframework.aop.support.AopUtils: boolean isToStringMethod(java.lang.reflect.Method)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: java.lang.String getServiceUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("RMI invoker proxy for service URL [\u]");
return v;
label:
v = virtualinvoke v.<org.springframework.remoting.rmi.RmiClientInterceptor: org.springframework.remoting.support.RemoteInvocation createRemoteInvocation(org.aopalliance.intercept.MethodInvocation)>(v);
v = interfaceinvoke v.<org.springframework.remoting.rmi.RmiInvocationHandler: java.lang.Object invoke(org.springframework.remoting.support.RemoteInvocation)>(v);
return v;
}
}