public class io.micronaut.http.client.ServiceHttpClientFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.http.client.ServiceHttpClientFactory
super_class: java.lang.Object
{
private final io.micronaut.scheduling.TaskScheduler taskScheduler;
descriptor: Lio/micronaut/scheduling/TaskScheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.inject.Provider<io.micronaut.http.client.RxHttpClientRegistry> clientFactory;
descriptor: Ljavax/inject/Provider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavax/inject/Provider<Lio/micronaut/http/client/RxHttpClientRegistry;>;
public void <init>(io.micronaut.scheduling.TaskScheduler, javax.inject.Provider<io.micronaut.http.client.RxHttpClientRegistry>);
descriptor: (Lio/micronaut/scheduling/TaskScheduler;Ljavax/inject/Provider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.micronaut.http.client.ServiceHttpClientFactory.taskScheduler:Lio/micronaut/scheduling/TaskScheduler;
2: aload 0
aload 2
putfield io.micronaut.http.client.ServiceHttpClientFactory.clientFactory:Ljavax/inject/Provider;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/http/client/ServiceHttpClientFactory;
0 4 1 taskScheduler Lio/micronaut/scheduling/TaskScheduler;
0 4 2 clientFactory Ljavax/inject/Provider<Lio/micronaut/http/client/RxHttpClientRegistry;>;
Signature: (Lio/micronaut/scheduling/TaskScheduler;Ljavax/inject/Provider<Lio/micronaut/http/client/RxHttpClientRegistry;>;)V
MethodParameters:
Name Flags
taskScheduler
clientFactory
io.micronaut.discovery.StaticServiceInstanceList serviceInstanceList(io.micronaut.http.client.ServiceHttpClientConfiguration);
descriptor: (Lio/micronaut/http/client/ServiceHttpClientConfiguration;)Lio/micronaut/discovery/StaticServiceInstanceList;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getUrls:()Ljava/util/List;
astore 2
start local 2 1: new java.util.concurrent.ConcurrentLinkedQueue
dup
aload 2
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 2: new io.micronaut.discovery.StaticServiceInstanceList
dup
aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getServiceId:()Ljava/lang/String;
aload 3
aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getPath:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokespecial io.micronaut.discovery.StaticServiceInstanceList.<init>:(Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/client/ServiceHttpClientFactory;
0 3 1 configuration Lio/micronaut/http/client/ServiceHttpClientConfiguration;
1 3 2 originalURLs Ljava/util/List<Ljava/net/URI;>;
2 3 3 loadBalancedURIs Ljava/util/Collection<Ljava/net/URI;>;
RuntimeVisibleAnnotations:
io.micronaut.context.annotation.EachBean(value = Lio/micronaut/http/client/ServiceHttpClientConfiguration;)
io.micronaut.context.annotation.Requires(condition = Lio/micronaut/http/client/ServiceHttpClientCondition;)
MethodParameters:
Name Flags
configuration
io.micronaut.context.event.ApplicationEventListener<io.micronaut.runtime.server.event.ServerStartupEvent> healthCheckStarter(io.micronaut.http.client.ServiceHttpClientConfiguration, io.micronaut.discovery.StaticServiceInstanceList);
descriptor: (Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/discovery/StaticServiceInstanceList;)Lio/micronaut/context/event/ApplicationEventListener;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.isHealthCheck:()Z
ifeq 2
1: aload 0
aload 1
aload 2
invokedynamic onApplicationEvent(Lio/micronaut/http/client/ServiceHttpClientFactory;Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/discovery/StaticServiceInstanceList;)Lio/micronaut/context/event/ApplicationEventListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/micronaut/http/client/ServiceHttpClientFactory.lambda$0(Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/discovery/StaticServiceInstanceList;Lio/micronaut/runtime/server/event/ServerStartupEvent;)V (7)
(Lio/micronaut/runtime/server/event/ServerStartupEvent;)V
areturn
2: StackMap locals:
StackMap stack:
new io.micronaut.context.exceptions.DisabledBeanException
dup
ldc "HTTP Client Health Check not enabled"
invokespecial io.micronaut.context.exceptions.DisabledBeanException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/client/ServiceHttpClientFactory;
0 3 1 configuration Lio/micronaut/http/client/ServiceHttpClientConfiguration;
0 3 2 instanceList Lio/micronaut/discovery/StaticServiceInstanceList;
Signature: (Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/discovery/StaticServiceInstanceList;)Lio/micronaut/context/event/ApplicationEventListener<Lio/micronaut/runtime/server/event/ServerStartupEvent;>;
RuntimeVisibleAnnotations:
io.micronaut.context.annotation.EachBean(value = Lio/micronaut/http/client/ServiceHttpClientConfiguration;)
io.micronaut.context.annotation.Requires(condition = Lio/micronaut/http/client/ServiceHttpClientCondition;)
RuntimeVisibleParameterAnnotations:
0:
io.micronaut.context.annotation.Parameter()
1:
io.micronaut.context.annotation.Parameter()
MethodParameters:
Name Flags
configuration
instanceList
private void lambda$0(io.micronaut.http.client.ServiceHttpClientConfiguration, io.micronaut.discovery.StaticServiceInstanceList, io.micronaut.runtime.server.event.ServerStartupEvent);
descriptor: (Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/discovery/StaticServiceInstanceList;Lio/micronaut/runtime/server/event/ServerStartupEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 3 0: aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getUrls:()Ljava/util/List;
astore 4
start local 4 1: aload 2
invokevirtual io.micronaut.discovery.StaticServiceInstanceList.getLoadBalancedURIs:()Ljava/util/Collection;
astore 5
start local 5 2: aload 0
getfield io.micronaut.http.client.ServiceHttpClientFactory.clientFactory:Ljavax/inject/Provider;
invokeinterface javax.inject.Provider.get:()Ljava/lang/Object;
checkcast io.micronaut.http.client.RxHttpClientRegistry
3: aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getHttpVersion:()Lio/micronaut/http/HttpVersion;
4: aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getServiceId:()Ljava/lang/String;
5: aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getPath:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
6: invokeinterface io.micronaut.http.client.RxHttpClientRegistry.getClient:(Lio/micronaut/http/HttpVersion;Ljava/lang/String;Ljava/lang/String;)Lio/micronaut/http/client/RxHttpClient;
7: astore 6
start local 6 8: aload 0
getfield io.micronaut.http.client.ServiceHttpClientFactory.taskScheduler:Lio/micronaut/scheduling/TaskScheduler;
aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getHealthCheckInterval:()Ljava/time/Duration;
aload 1
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getHealthCheckInterval:()Ljava/time/Duration;
aload 1
aload 6
aload 4
aload 5
invokedynamic run(Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/http/client/RxHttpClient;Ljava/util/List;Ljava/util/Collection;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
io/micronaut/http/client/ServiceHttpClientFactory.lambda$1(Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/http/client/RxHttpClient;Ljava/util/List;Ljava/util/Collection;)V (6)
()V
invokeinterface io.micronaut.scheduling.TaskScheduler.scheduleWithFixedDelay:(Ljava/time/Duration;Ljava/time/Duration;Ljava/lang/Runnable;)Ljava/util/concurrent/ScheduledFuture;
pop
end local 6 end local 5 end local 4 9: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/micronaut/http/client/ServiceHttpClientFactory;
0 10 3 event Lio/micronaut/runtime/server/event/ServerStartupEvent;
1 9 4 originalURLs Ljava/util/List<Ljava/net/URI;>;
2 9 5 loadBalancedURIs Ljava/util/Collection<Ljava/net/URI;>;
8 9 6 httpClient Lio/micronaut/http/client/RxHttpClient;
private static void lambda$1(io.micronaut.http.client.ServiceHttpClientConfiguration, io.micronaut.http.client.RxHttpClient, java.util.List, java.util.Collection);
descriptor: (Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/http/client/RxHttpClient;Ljava/util/List;Ljava/util/Collection;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
0: aload 2
invokestatic io.reactivex.Flowable.fromIterable:(Ljava/lang/Iterable;)Lio/reactivex/Flowable;
aload 0
aload 1
invokedynamic apply(Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/http/client/RxHttpClient;)Lio/reactivex/functions/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/micronaut/http/client/ServiceHttpClientFactory.lambda$2(Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/http/client/RxHttpClient;Ljava/net/URI;)Lorg/reactivestreams/Publisher; (6)
(Ljava/net/URI;)Lorg/reactivestreams/Publisher;
invokevirtual io.reactivex.Flowable.flatMap:(Lio/reactivex/functions/Function;)Lio/reactivex/Flowable;
1: aload 3
invokedynamic accept(Ljava/util/Collection;)Lio/reactivex/functions/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/micronaut/http/client/ServiceHttpClientFactory.lambda$5(Ljava/util/Collection;Ljava/util/Map;)V (6)
(Ljava/util/Map;)V
invokevirtual io.reactivex.Flowable.subscribe:(Lio/reactivex/functions/Consumer;)Lio/reactivex/disposables/Disposable;
2: return
LocalVariableTable:
Start End Slot Name Signature
private static org.reactivestreams.Publisher lambda$2(io.micronaut.http.client.ServiceHttpClientConfiguration, io.micronaut.http.client.RxHttpClient, java.net.URI);
descriptor: (Lio/micronaut/http/client/ServiceHttpClientConfiguration;Lio/micronaut/http/client/RxHttpClient;Ljava/net/URI;)Lorg/reactivestreams/Publisher;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 2 0: aload 2
aload 0
invokevirtual io.micronaut.http.client.ServiceHttpClientConfiguration.getHealthCheckUri:()Ljava/lang/String;
invokevirtual java.net.URI.resolve:(Ljava/lang/String;)Ljava/net/URI;
astore 3
start local 3 1: aload 1
aload 3
invokestatic io.micronaut.http.HttpRequest.GET:(Ljava/net/URI;)Lio/micronaut/http/MutableHttpRequest;
invokeinterface io.micronaut.http.client.RxHttpClient.exchange:(Lio/micronaut/http/HttpRequest;)Lio/reactivex/Flowable;
invokedynamic apply()Lio/reactivex/functions/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/micronaut/http/client/ServiceHttpClientFactory.lambda$3(Ljava/lang/Throwable;)Lorg/reactivestreams/Publisher; (6)
(Ljava/lang/Throwable;)Lorg/reactivestreams/Publisher;
invokevirtual io.reactivex.Flowable.onErrorResumeNext:(Lio/reactivex/functions/Function;)Lio/reactivex/Flowable;
2: aload 2
invokedynamic apply(Ljava/net/URI;)Lio/reactivex/functions/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/micronaut/http/client/ServiceHttpClientFactory.lambda$4(Ljava/net/URI;Lio/micronaut/http/HttpResponse;)Ljava/util/Map; (6)
(Lio/micronaut/http/HttpResponse;)Ljava/util/Map;
invokevirtual io.reactivex.Flowable.map:(Lio/reactivex/functions/Function;)Lio/reactivex/Flowable;
3: areturn
end local 3 end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 originalURI Ljava/net/URI;
1 4 3 healthCheckURI Ljava/net/URI;
Exceptions:
throws java.lang.Exception
private static void lambda$5(java.util.Collection, java.util.Map);
descriptor: (Ljava/util/Collection;Ljava/util/Map;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=5, args_size=2
start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 1: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.net.URI
astore 3
start local 3 2: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.micronaut.http.HttpStatus
astore 4
start local 4 3: aload 4
invokevirtual io.micronaut.http.HttpStatus.getCode:()I
sipush 300
if_icmplt 6
4: aload 0
aload 3
invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
pop
5: goto 8
StackMap locals: java.util.Map$Entry java.net.URI io.micronaut.http.HttpStatus
StackMap stack:
6: aload 0
aload 3
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifne 8
7: aload 0
aload 3
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 9 1 uriToStatusMap Ljava/util/Map<Ljava/net/URI;Lio/micronaut/http/HttpStatus;>;
1 8 2 entry Ljava/util/Map$Entry<Ljava/net/URI;Lio/micronaut/http/HttpStatus;>;
2 8 3 uri Ljava/net/URI;
3 8 4 status Lio/micronaut/http/HttpStatus;
Exceptions:
throws java.lang.Exception
private static org.reactivestreams.Publisher lambda$3(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Lorg/reactivestreams/Publisher;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
instanceof io.micronaut.http.client.exceptions.HttpClientResponseException
ifeq 4
1: aload 0
checkcast io.micronaut.http.client.exceptions.HttpClientResponseException
astore 1
start local 1 2: aload 1
invokevirtual io.micronaut.http.client.exceptions.HttpClientResponseException.getResponse:()Lio/micronaut/http/HttpResponse;
astore 2
start local 2 3: aload 2
invokestatic io.reactivex.Flowable.just:(Ljava/lang/Object;)Lio/reactivex/Flowable;
areturn
end local 2 end local 1 4: StackMap locals:
StackMap stack:
invokestatic io.micronaut.http.HttpResponse.serverError:()Lio/micronaut/http/MutableHttpResponse;
invokestatic io.reactivex.Flowable.just:(Ljava/lang/Object;)Lio/reactivex/Flowable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 throwable Ljava/lang/Throwable;
2 4 1 responseException Lio/micronaut/http/client/exceptions/HttpClientResponseException;
3 4 2 response Lio/micronaut/http/HttpResponse<Lio/micronaut/core/io/buffer/ByteBuffer;>;
Exceptions:
throws java.lang.Exception
private static java.util.Map lambda$4(java.net.URI, io.micronaut.http.HttpResponse);
descriptor: (Ljava/net/URI;Lio/micronaut/http/HttpResponse;)Ljava/util/Map;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface io.micronaut.http.HttpResponse.getStatus:()Lio/micronaut/http/HttpStatus;
invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 response Lio/micronaut/http/HttpResponse<Lio/micronaut/core/io/buffer/ByteBuffer;>;
Exceptions:
throws java.lang.Exception
}
SourceFile: "ServiceHttpClientFactory.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
RuntimeVisibleAnnotations:
io.micronaut.context.annotation.Factory()
io.micronaut.core.annotation.Internal()