public abstract class org.springframework.remoting.support.RemoteInvocationBasedExporter extends org.springframework.remoting.support.RemoteExporter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.remoting.support.RemoteInvocationBasedExporter
  super_class: org.springframework.remoting.support.RemoteExporter
{
  private org.springframework.remoting.support.RemoteInvocationExecutor remoteInvocationExecutor;
    descriptor: Lorg/springframework/remoting/support/RemoteInvocationExecutor;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
         0: .line 33
            aload 0 /* this */
            invokespecial org.springframework.remoting.support.RemoteExporter.<init>:()V
         1: .line 35
            aload 0 /* this */
            new org.springframework.remoting.support.DefaultRemoteInvocationExecutor
            dup
            invokespecial org.springframework.remoting.support.DefaultRemoteInvocationExecutor.<init>:()V
            putfield org.springframework.remoting.support.RemoteInvocationBasedExporter.remoteInvocationExecutor:Lorg/springframework/remoting/support/RemoteInvocationExecutor;
         2: .line 33
            return
        end local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/remoting/support/RemoteInvocationBasedExporter;

  public void setRemoteInvocationExecutor(org.springframework.remoting.support.RemoteInvocationExecutor);
    descriptor: (Lorg/springframework/remoting/support/RemoteInvocationExecutor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
        start local 1 // org.springframework.remoting.support.RemoteInvocationExecutor remoteInvocationExecutor
         0: .line 45
            aload 0 /* this */
            aload 1 /* remoteInvocationExecutor */
            putfield org.springframework.remoting.support.RemoteInvocationBasedExporter.remoteInvocationExecutor:Lorg/springframework/remoting/support/RemoteInvocationExecutor;
         1: .line 46
            return
        end local 1 // org.springframework.remoting.support.RemoteInvocationExecutor remoteInvocationExecutor
        end local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/springframework/remoting/support/RemoteInvocationBasedExporter;
            0    2     1  remoteInvocationExecutor  Lorg/springframework/remoting/support/RemoteInvocationExecutor;
    MethodParameters:
                          Name  Flags
      remoteInvocationExecutor  

  public org.springframework.remoting.support.RemoteInvocationExecutor getRemoteInvocationExecutor();
    descriptor: ()Lorg/springframework/remoting/support/RemoteInvocationExecutor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
         0: .line 52
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.remoteInvocationExecutor:Lorg/springframework/remoting/support/RemoteInvocationExecutor;
            areturn
        end local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/remoting/support/RemoteInvocationBasedExporter;

  protected java.lang.Object invoke(org.springframework.remoting.support.RemoteInvocation, java.lang.Object);
    descriptor: (Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
        start local 1 // org.springframework.remoting.support.RemoteInvocation invocation
        start local 2 // java.lang.Object targetObject
         0: .line 74
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 2
         1: .line 75
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Executing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* invocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.remoting.support.RemoteInvocationBasedExporter.getRemoteInvocationExecutor:()Lorg/springframework/remoting/support/RemoteInvocationExecutor;
            aload 1 /* invocation */
            aload 2 /* targetObject */
            invokeinterface org.springframework.remoting.support.RemoteInvocationExecutor.invoke:(Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)Ljava/lang/Object;
         3: areturn
         4: .line 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 3 /* ex */
        start local 3 // java.lang.NoSuchMethodException ex
         5: .line 81
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         6: .line 82
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not find target method for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* invocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         7: .line 84
      StackMap locals: java.lang.NoSuchMethodException
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.NoSuchMethodException ex
         8: .line 86
      StackMap locals: org.springframework.remoting.support.RemoteInvocationBasedExporter org.springframework.remoting.support.RemoteInvocation java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* ex */
        start local 3 // java.lang.IllegalAccessException ex
         9: .line 87
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 11
        10: .line 88
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not access target method for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* invocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        11: .line 90
      StackMap locals: java.lang.IllegalAccessException
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.IllegalAccessException ex
        12: .line 92
      StackMap locals: org.springframework.remoting.support.RemoteInvocationBasedExporter org.springframework.remoting.support.RemoteInvocation java.lang.Object
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* ex */
        start local 3 // java.lang.reflect.InvocationTargetException ex
        13: .line 93
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 15
        14: .line 94
            aload 0 /* this */
            getfield org.springframework.remoting.support.RemoteInvocationBasedExporter.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Target method failed for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* invocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        15: .line 96
      StackMap locals: java.lang.reflect.InvocationTargetException
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException ex
        end local 2 // java.lang.Object targetObject
        end local 1 // org.springframework.remoting.support.RemoteInvocation invocation
        end local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lorg/springframework/remoting/support/RemoteInvocationBasedExporter;
            0   16     1    invocation  Lorg/springframework/remoting/support/RemoteInvocation;
            0   16     2  targetObject  Ljava/lang/Object;
            5    8     3            ex  Ljava/lang/NoSuchMethodException;
            9   12     3            ex  Ljava/lang/IllegalAccessException;
           13   16     3            ex  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchMethodException
           2     3       8  Class java.lang.IllegalAccessException
           2     3      12  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
              Name  Flags
      invocation    
      targetObject  

  protected org.springframework.remoting.support.RemoteInvocationResult invokeAndCreateResult(org.springframework.remoting.support.RemoteInvocation, java.lang.Object);
    descriptor: (Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)Lorg/springframework/remoting/support/RemoteInvocationResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
        start local 1 // org.springframework.remoting.support.RemoteInvocation invocation
        start local 2 // java.lang.Object targetObject
         0: .line 114
            aload 0 /* this */
            aload 1 /* invocation */
            aload 2 /* targetObject */
            invokevirtual org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke:(Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         1: .line 115
            new org.springframework.remoting.support.RemoteInvocationResult
            dup
            aload 3 /* value */
            invokespecial org.springframework.remoting.support.RemoteInvocationResult.<init>:(Ljava/lang/Object;)V
         2: areturn
        end local 3 // java.lang.Object value
         3: .line 117
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
         4: .line 118
            new org.springframework.remoting.support.RemoteInvocationResult
            dup
            aload 3 /* ex */
            invokespecial org.springframework.remoting.support.RemoteInvocationResult.<init>:(Ljava/lang/Throwable;)V
            areturn
        end local 3 // java.lang.Throwable ex
        end local 2 // java.lang.Object targetObject
        end local 1 // org.springframework.remoting.support.RemoteInvocation invocation
        end local 0 // org.springframework.remoting.support.RemoteInvocationBasedExporter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/springframework/remoting/support/RemoteInvocationBasedExporter;
            0    5     1    invocation  Lorg/springframework/remoting/support/RemoteInvocation;
            0    5     2  targetObject  Ljava/lang/Object;
            1    3     3         value  Ljava/lang/Object;
            4    5     3            ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    MethodParameters:
              Name  Flags
      invocation    
      targetObject  
}
SourceFile: "RemoteInvocationBasedExporter.java"