class org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler implements org.springframework.boot.devtools.restart.FailureHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler
super_class: java.lang.Object
{
private final org.springframework.boot.devtools.filewatch.FileSystemWatcherFactory fileSystemWatcherFactory;
descriptor: Lorg/springframework/boot/devtools/filewatch/FileSystemWatcherFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.springframework.boot.devtools.filewatch.FileSystemWatcherFactory);
descriptor: (Lorg/springframework/boot/devtools/filewatch/FileSystemWatcherFactory;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler this
start local 1 // org.springframework.boot.devtools.filewatch.FileSystemWatcherFactory fileSystemWatcherFactory
0: .line 39
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 40
aload 0 /* this */
aload 1 /* fileSystemWatcherFactory */
putfield org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler.fileSystemWatcherFactory:Lorg/springframework/boot/devtools/filewatch/FileSystemWatcherFactory;
2: .line 41
return
end local 1 // org.springframework.boot.devtools.filewatch.FileSystemWatcherFactory fileSystemWatcherFactory
end local 0 // org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/devtools/autoconfigure/FileWatchingFailureHandler;
0 3 1 fileSystemWatcherFactory Lorg/springframework/boot/devtools/filewatch/FileSystemWatcherFactory;
MethodParameters:
Name Flags
fileSystemWatcherFactory
public org.springframework.boot.devtools.restart.FailureHandler$Outcome handle(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Lorg/springframework/boot/devtools/restart/FailureHandler$Outcome;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 // org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler this
start local 1 // java.lang.Throwable failure
0: .line 45
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 2 /* latch */
start local 2 // java.util.concurrent.CountDownLatch latch
1: .line 46
aload 0 /* this */
getfield org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler.fileSystemWatcherFactory:Lorg/springframework/boot/devtools/filewatch/FileSystemWatcherFactory;
invokeinterface org.springframework.boot.devtools.filewatch.FileSystemWatcherFactory.getFileSystemWatcher:()Lorg/springframework/boot/devtools/filewatch/FileSystemWatcher;
astore 3 /* watcher */
start local 3 // org.springframework.boot.devtools.filewatch.FileSystemWatcher watcher
2: .line 47
aload 3 /* watcher */
new org.springframework.boot.devtools.classpath.ClassPathDirectories
dup
invokestatic org.springframework.boot.devtools.restart.Restarter.getInstance:()Lorg/springframework/boot/devtools/restart/Restarter;
invokevirtual org.springframework.boot.devtools.restart.Restarter.getInitialUrls:()[Ljava/net/URL;
invokespecial org.springframework.boot.devtools.classpath.ClassPathDirectories.<init>:([Ljava/net/URL;)V
invokevirtual org.springframework.boot.devtools.filewatch.FileSystemWatcher.addSourceDirectories:(Ljava/lang/Iterable;)V
3: .line 48
aload 3 /* watcher */
new org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler$Listener
dup
aload 2 /* latch */
invokespecial org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler$Listener.<init>:(Ljava/util/concurrent/CountDownLatch;)V
invokevirtual org.springframework.boot.devtools.filewatch.FileSystemWatcher.addListener:(Lorg/springframework/boot/devtools/filewatch/FileChangeListener;)V
4: .line 49
aload 3 /* watcher */
invokevirtual org.springframework.boot.devtools.filewatch.FileSystemWatcher.start:()V
5: .line 51
aload 2 /* latch */
invokevirtual java.util.concurrent.CountDownLatch.await:()V
6: .line 52
goto 9
7: .line 53
StackMap locals: org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler java.lang.Throwable java.util.concurrent.CountDownLatch org.springframework.boot.devtools.filewatch.FileSystemWatcher
StackMap stack: java.lang.InterruptedException
pop
8: .line 54
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
9: .line 56
StackMap locals:
StackMap stack:
getstatic org.springframework.boot.devtools.restart.FailureHandler$Outcome.RETRY:Lorg/springframework/boot/devtools/restart/FailureHandler$Outcome;
areturn
end local 3 // org.springframework.boot.devtools.filewatch.FileSystemWatcher watcher
end local 2 // java.util.concurrent.CountDownLatch latch
end local 1 // java.lang.Throwable failure
end local 0 // org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/boot/devtools/autoconfigure/FileWatchingFailureHandler;
0 10 1 failure Ljava/lang/Throwable;
1 10 2 latch Ljava/util/concurrent/CountDownLatch;
2 10 3 watcher Lorg/springframework/boot/devtools/filewatch/FileSystemWatcher;
Exception table:
from to target type
5 6 7 Class java.lang.InterruptedException
MethodParameters:
Name Flags
failure
}
SourceFile: "FileWatchingFailureHandler.java"
NestMembers:
org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler$Listener
InnerClasses:
private Listener = org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler$Listener of org.springframework.boot.devtools.autoconfigure.FileWatchingFailureHandler
public final Outcome = org.springframework.boot.devtools.restart.FailureHandler$Outcome of org.springframework.boot.devtools.restart.FailureHandler