public final class io.smallrye.stork.Stork extends java.lang.Object implements io.smallrye.stork.api.StorkServiceRegistry
{
public static final java.lang.String STORK;
public static final java.lang.String STORK_REGISTRAR;
private static final org.slf4j.Logger LOGGER;
private final java.util.Map services;
private final java.util.Map serviceRegistrars;
private final io.smallrye.stork.spi.StorkInfrastructure infrastructure;
private static final java.util.concurrent.atomic.AtomicReference REFERENCE;
public io.smallrye.stork.api.Service getService(java.lang.String)
{
io.smallrye.stork.api.NoSuchServiceDefinitionException v;
io.smallrye.stork.Stork v;
java.util.Map v;
java.lang.Object v;
java.lang.String v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.lang.String;
v = v.<io.smallrye.stork.Stork: java.util.Map services>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new io.smallrye.stork.api.NoSuchServiceDefinitionException;
specialinvoke v.<io.smallrye.stork.api.NoSuchServiceDefinitionException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public java.util.Optional getServiceOptional(java.lang.String)
{
io.smallrye.stork.Stork v;
java.util.Map v;
java.util.Optional v;
java.lang.Object v;
java.lang.String v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.lang.String;
v = v.<io.smallrye.stork.Stork: java.util.Map services>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
return v;
}
public java.util.Map getServices()
{
io.smallrye.stork.Stork v;
java.util.Map v, v;
v := @this: io.smallrye.stork.Stork;
v = v.<io.smallrye.stork.Stork: java.util.Map services>;
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
return v;
}
public io.smallrye.stork.Stork defineIfAbsent(java.lang.String, io.smallrye.stork.api.ServiceDefinition)
{
io.smallrye.stork.api.ServiceDefinition v;
io.smallrye.stork.api.config.ServiceConfig v;
io.smallrye.stork.Stork v;
io.smallrye.stork.api.Service v;
java.util.Map v;
java.lang.String v;
io.smallrye.stork.api.ServiceDiscovery v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.lang.String;
v := @parameter: io.smallrye.stork.api.ServiceDefinition;
staticinvoke <io.smallrye.mutiny.helpers.ParameterValidation: java.lang.Object nonNull(java.lang.Object,java.lang.String)>(v, "name");
staticinvoke <io.smallrye.mutiny.helpers.ParameterValidation: java.lang.Object nonNull(java.lang.Object,java.lang.String)>(v, "definition");
v = specialinvoke v.<io.smallrye.stork.Stork: io.smallrye.stork.api.config.ServiceConfig toServiceConfig(java.lang.String,io.smallrye.stork.api.ServiceDefinition)>(v, v);
v = specialinvoke v.<io.smallrye.stork.Stork: io.smallrye.stork.api.Service createService(io.smallrye.stork.api.config.ServiceConfig)>(v);
v = v.<io.smallrye.stork.Stork: java.util.Map services>;
interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<io.smallrye.stork.api.Service: io.smallrye.stork.api.ServiceDiscovery getServiceDiscovery()>();
interfaceinvoke v.<io.smallrye.stork.api.ServiceDiscovery: void initialize(io.smallrye.stork.api.StorkServiceRegistry)>(v);
return v;
}
private io.smallrye.stork.api.config.ServiceConfig toServiceConfig(java.lang.String, io.smallrye.stork.api.ServiceDefinition)
{
io.smallrye.stork.spi.config.SimpleServiceConfig v;
io.smallrye.stork.spi.config.SimpleServiceConfig$Builder v, v, v, v;
io.smallrye.stork.api.ServiceDefinition v;
io.smallrye.stork.Stork v;
java.lang.String v;
io.smallrye.stork.api.config.ConfigWithType v, v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.lang.String;
v := @parameter: io.smallrye.stork.api.ServiceDefinition;
v = new io.smallrye.stork.spi.config.SimpleServiceConfig$Builder;
specialinvoke v.<io.smallrye.stork.spi.config.SimpleServiceConfig$Builder: void <init>()>();
v = virtualinvoke v.<io.smallrye.stork.spi.config.SimpleServiceConfig$Builder: io.smallrye.stork.spi.config.SimpleServiceConfig$Builder setServiceName(java.lang.String)>(v);
v = virtualinvoke v.<io.smallrye.stork.api.ServiceDefinition: io.smallrye.stork.api.config.ConfigWithType getLoadBalancer()>();
v = virtualinvoke v.<io.smallrye.stork.spi.config.SimpleServiceConfig$Builder: io.smallrye.stork.spi.config.SimpleServiceConfig$Builder setLoadBalancer(io.smallrye.stork.api.config.ConfigWithType)>(v);
v = virtualinvoke v.<io.smallrye.stork.api.ServiceDefinition: io.smallrye.stork.api.config.ConfigWithType getServiceDiscovery()>();
v = virtualinvoke v.<io.smallrye.stork.spi.config.SimpleServiceConfig$Builder: io.smallrye.stork.spi.config.SimpleServiceConfig$Builder setServiceDiscovery(io.smallrye.stork.api.config.ConfigWithType)>(v);
v = virtualinvoke v.<io.smallrye.stork.spi.config.SimpleServiceConfig$Builder: io.smallrye.stork.spi.config.SimpleServiceConfig build()>();
return v;
}
public void <init>(io.smallrye.stork.spi.StorkInfrastructure)
{
io.smallrye.stork.api.Service v;
io.smallrye.stork.api.ServiceDiscovery v;
io.smallrye.stork.spi.config.ConfigProvider v;
io.smallrye.stork.Stork v;
java.util.Map v, v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
java.util.Iterator v, v, v;
io.smallrye.stork.spi.StorkInfrastructure v;
java.util.Collection v;
java.util.concurrent.ConcurrentHashMap v, v;
io.smallrye.stork.api.ServiceRegistrar v;
java.util.List v, v;
java.lang.Object v, v, v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: io.smallrye.stork.spi.StorkInfrastructure;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<io.smallrye.stork.Stork: java.util.Map services> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<io.smallrye.stork.Stork: java.util.Map serviceRegistrars> = v;
v.<io.smallrye.stork.Stork: io.smallrye.stork.spi.StorkInfrastructure infrastructure> = v;
v = specialinvoke v.<io.smallrye.stork.Stork: java.util.Map loadFromServiceLoader(java.lang.Class)>(class "Lio/smallrye/stork/spi/internal/LoadBalancerLoader;");
v = specialinvoke v.<io.smallrye.stork.Stork: java.util.Map loadFromServiceLoader(java.lang.Class)>(class "Lio/smallrye/stork/spi/internal/ServiceDiscoveryLoader;");
v = specialinvoke v.<io.smallrye.stork.Stork: java.util.Map loadFromServiceLoader(java.lang.Class)>(class "Lio/smallrye/stork/spi/internal/ServiceRegistrarLoader;");
specialinvoke v.<io.smallrye.stork.Stork: void extendWithCdiLoaders(java.util.Map,java.util.Map,java.util.Map)>(v, v, v);
v = staticinvoke <io.smallrye.stork.Stork: io.smallrye.stork.spi.config.ConfigProvider lookForConfigProvider()>();
if v == null goto label;
v = interfaceinvoke v.<io.smallrye.stork.spi.config.ConfigProvider: java.util.List getConfigs()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = specialinvoke v.<io.smallrye.stork.Stork: io.smallrye.stork.api.Service createService(java.util.Map,java.util.Map,io.smallrye.stork.api.config.ServiceConfig)>(v, v, v);
v = v.<io.smallrye.stork.Stork: java.util.Map services>;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: java.lang.String serviceName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<io.smallrye.stork.Stork: java.util.Map services>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<io.smallrye.stork.api.Service: io.smallrye.stork.api.ServiceDiscovery getServiceDiscovery()>();
interfaceinvoke v.<io.smallrye.stork.api.ServiceDiscovery: void initialize(io.smallrye.stork.api.StorkServiceRegistry)>(v);
goto label;
label:
v = interfaceinvoke v.<io.smallrye.stork.spi.config.ConfigProvider: java.util.List getRegistrarConfigs()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<io.smallrye.stork.Stork: java.util.Map serviceRegistrars>;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceRegistrarConfig: java.lang.String name()>();
v = specialinvoke v.<io.smallrye.stork.Stork: io.smallrye.stork.api.ServiceRegistrar createServiceRegistrar(io.smallrye.stork.api.config.ServiceRegistrarConfig,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return;
}
private void extendWithCdiLoaders(java.util.Map, java.util.Map, java.util.Map)
{
java.lang.IllegalStateException v;
jakarta.enterprise.inject.spi.CDI v;
java.lang.'annotation'.Annotation[] v, v, v;
jakarta.enterprise.inject.Instance v, v, v;
java.util.function.Consumer v, v, v;
io.smallrye.stork.Stork v;
java.util.Map v, v, v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
label:
v = staticinvoke <jakarta.enterprise.inject.spi.CDI: jakarta.enterprise.inject.spi.CDI current()>();
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = newarray (java.lang.'annotation'.Annotation)[0];
v = virtualinvoke v.<jakarta.enterprise.inject.spi.CDI: jakarta.enterprise.inject.Instance select(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lio/smallrye/stork/spi/internal/ServiceDiscoveryLoader;", v);
v = newarray (java.lang.'annotation'.Annotation)[0];
v = virtualinvoke v.<jakarta.enterprise.inject.spi.CDI: jakarta.enterprise.inject.Instance select(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lio/smallrye/stork/spi/internal/LoadBalancerLoader;", v);
v = newarray (java.lang.'annotation'.Annotation)[0];
v = virtualinvoke v.<jakarta.enterprise.inject.spi.CDI: jakarta.enterprise.inject.Instance select(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lio/smallrye/stork/spi/internal/ServiceRegistrarLoader;", v);
v = staticinvoke <io.smallrye.stork.Stork$lambda_extendWithCdiLoaders_0__596: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
interfaceinvoke v.<jakarta.enterprise.inject.Instance: void forEach(java.util.function.Consumer)>(v);
v = staticinvoke <io.smallrye.stork.Stork$lambda_extendWithCdiLoaders_1__597: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
interfaceinvoke v.<jakarta.enterprise.inject.Instance: void forEach(java.util.function.Consumer)>(v);
v = staticinvoke <io.smallrye.stork.Stork$lambda_extendWithCdiLoaders_2__598: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
interfaceinvoke v.<jakarta.enterprise.inject.Instance: void forEach(java.util.function.Consumer)>(v);
return;
catch java.lang.IllegalStateException from label to label with label;
}
private static io.smallrye.stork.spi.config.ConfigProvider lookForConfigProvider()
{
java.lang.IllegalStateException v;
jakarta.enterprise.inject.spi.CDI v;
java.lang.'annotation'.Annotation[] v;
jakarta.enterprise.inject.Instance v;
java.util.function.Function v;
java.util.stream.Collector v, v;
java.util.function.ToIntFunction v;
java.util.ServiceLoader v;
java.util.stream.Stream v, v, v, v;
java.util.Optional v;
java.lang.Object v, v, v;
java.util.Comparator v;
v = staticinvoke <java.util.ServiceLoader: java.util.ServiceLoader load(java.lang.Class)>(class "Lio/smallrye/stork/spi/config/ConfigProvider;");
v = virtualinvoke v.<java.util.ServiceLoader: java.util.stream.Stream stream()>();
v = staticinvoke <io.smallrye.stork.Stork$get__599: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
label:
v = staticinvoke <jakarta.enterprise.inject.spi.CDI: jakarta.enterprise.inject.spi.CDI current()>();
v = newarray (java.lang.'annotation'.Annotation)[0];
v = virtualinvoke v.<jakarta.enterprise.inject.spi.CDI: jakarta.enterprise.inject.Instance select(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lio/smallrye/stork/spi/config/ConfigProvider;", v);
v = interfaceinvoke v.<jakarta.enterprise.inject.Instance: java.util.stream.Stream stream()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.smallrye.stork.Stork$priority__600: java.util.function.ToIntFunction bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparingInt(java.util.function.ToIntFunction)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional max(java.util.Comparator)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
return v;
catch java.lang.IllegalStateException from label to label with label;
}
private io.smallrye.stork.api.ServiceRegistrar createServiceRegistrar(io.smallrye.stork.api.config.ServiceRegistrarConfig, java.util.Map)
{
io.smallrye.stork.spi.StorkInfrastructure v;
io.smallrye.stork.api.ServiceRegistrar v;
java.lang.IllegalArgumentException v;
io.smallrye.stork.Stork v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v, v;
io.smallrye.stork.api.config.ServiceRegistrarConfig v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: io.smallrye.stork.api.config.ServiceRegistrarConfig;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceRegistrarConfig: java.lang.String type()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceRegistrarConfig: java.lang.String type()>();
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[])>("No service registrar found for type \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<io.smallrye.stork.Stork: io.smallrye.stork.spi.StorkInfrastructure infrastructure>;
v = interfaceinvoke v.<io.smallrye.stork.spi.internal.ServiceRegistrarLoader: io.smallrye.stork.api.ServiceRegistrar createServiceRegistrar(io.smallrye.stork.api.config.ServiceRegistrarConfig,io.smallrye.stork.spi.StorkInfrastructure)>(v, v);
return v;
}
private io.smallrye.stork.api.Service createService(io.smallrye.stork.api.config.ServiceConfig)
{
io.smallrye.stork.api.config.ServiceConfig v;
io.smallrye.stork.Stork v;
io.smallrye.stork.api.Service v;
java.util.Map v, v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: io.smallrye.stork.api.config.ServiceConfig;
v = specialinvoke v.<io.smallrye.stork.Stork: java.util.Map loadFromServiceLoader(java.lang.Class)>(class "Lio/smallrye/stork/spi/internal/LoadBalancerLoader;");
v = specialinvoke v.<io.smallrye.stork.Stork: java.util.Map loadFromServiceLoader(java.lang.Class)>(class "Lio/smallrye/stork/spi/internal/ServiceDiscoveryLoader;");
v = specialinvoke v.<io.smallrye.stork.Stork: io.smallrye.stork.api.Service createService(java.util.Map,java.util.Map,io.smallrye.stork.api.config.ServiceConfig)>(v, v, v);
return v;
}
private io.smallrye.stork.api.Service createService(java.util.Map, java.util.Map, io.smallrye.stork.api.config.ServiceConfig)
{
io.smallrye.stork.api.config.ServiceConfig v;
io.smallrye.stork.api.Service v;
io.smallrye.stork.spi.config.SimpleServiceConfig$SimpleServiceDiscoveryConfig v;
java.util.Map v, v, v;
boolean v, v;
io.smallrye.stork.api.LoadBalancer v;
java.util.HashMap v;
io.smallrye.stork.api.ServiceDiscovery v;
io.smallrye.stork.Stork v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
io.smallrye.stork.api.config.ConfigWithType v, v;
org.slf4j.Logger v, v;
io.smallrye.stork.spi.StorkInfrastructure v;
java.lang.IllegalArgumentException v, v, v, v;
io.smallrye.stork.impl.RoundRobinLoadBalancer v;
java.lang.Object v, v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: io.smallrye.stork.api.config.ServiceConfig;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: io.smallrye.stork.api.config.ConfigWithType serviceDiscovery()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: java.lang.String serviceName()>();
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[])>("No service discovery defined for service \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<io.smallrye.stork.api.config.ConfigWithType: java.lang.String type()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: java.lang.String serviceName()>();
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 discovery type not defined for service \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
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[])>("ServiceDiscoveryProvider not found for type \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: boolean secure()>();
if v == 0 goto label;
v = <io.smallrye.stork.Stork: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("The \'secure\' attribute is deprecated, use the \'secure\' service discovery attribute instead");
v = new java.util.HashMap;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ConfigWithType: java.util.Map parameters()>();
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("secure", "true");
v = new io.smallrye.stork.spi.config.SimpleServiceConfig$SimpleServiceDiscoveryConfig;
specialinvoke v.<io.smallrye.stork.spi.config.SimpleServiceConfig$SimpleServiceDiscoveryConfig: void <init>(java.lang.String,java.util.Map)>(v, v);
v = v;
label:
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: java.lang.String serviceName()>();
v = v.<io.smallrye.stork.Stork: io.smallrye.stork.spi.StorkInfrastructure infrastructure>;
v = interfaceinvoke v.<io.smallrye.stork.spi.internal.ServiceDiscoveryLoader: io.smallrye.stork.api.ServiceDiscovery createServiceDiscovery(io.smallrye.stork.api.config.ConfigWithType,java.lang.String,io.smallrye.stork.api.config.ServiceConfig,io.smallrye.stork.spi.StorkInfrastructure)>(v, v, v, v);
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: io.smallrye.stork.api.config.ConfigWithType loadBalancer()>();
if v != null goto label;
v = <io.smallrye.stork.Stork: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("No load balancer configured for type {}, using {}", v, "round-robin");
v = new io.smallrye.stork.impl.RoundRobinLoadBalancer;
specialinvoke v.<io.smallrye.stork.impl.RoundRobinLoadBalancer: void <init>()>();
v = v;
goto label;
label:
v = interfaceinvoke v.<io.smallrye.stork.api.config.ConfigWithType: java.lang.String type()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
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[])>("No LoadBalancerProvider for type \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<io.smallrye.stork.spi.internal.LoadBalancerLoader: io.smallrye.stork.api.LoadBalancer createLoadBalancer(io.smallrye.stork.api.config.ConfigWithType,io.smallrye.stork.api.ServiceDiscovery)>(v, v);
label:
v = new io.smallrye.stork.api.Service;
v = interfaceinvoke v.<io.smallrye.stork.api.config.ServiceConfig: java.lang.String serviceName()>();
v = interfaceinvoke v.<io.smallrye.stork.api.LoadBalancer: boolean requiresStrictRecording()>();
specialinvoke v.<io.smallrye.stork.api.Service: void <init>(java.lang.String,io.smallrye.stork.api.LoadBalancer,io.smallrye.stork.api.ServiceDiscovery,boolean)>(v, v, v, v);
return v;
}
private java.util.Map loadFromServiceLoader(java.lang.Class)
{
java.util.ServiceLoader v;
java.util.function.Function v, v, v;
java.util.stream.Stream v, v;
io.smallrye.stork.Stork v;
java.lang.Class v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.lang.Class;
v = staticinvoke <java.util.ServiceLoader: java.util.ServiceLoader load(java.lang.Class)>(v);
v = virtualinvoke v.<java.util.ServiceLoader: java.util.stream.Stream stream()>();
v = staticinvoke <io.smallrye.stork.Stork$get__601: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <io.smallrye.stork.Stork$type__602: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static io.smallrye.stork.Stork getInstance()
{
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v = <io.smallrye.stork.Stork: java.util.concurrent.atomic.AtomicReference REFERENCE>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
public static void shutdown()
{
java.util.concurrent.atomic.AtomicReference v;
v = <io.smallrye.stork.Stork: java.util.concurrent.atomic.AtomicReference REFERENCE>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(null);
return;
}
public static void initialize(io.smallrye.stork.spi.StorkInfrastructure)
{
java.util.concurrent.atomic.AtomicReference v;
io.smallrye.stork.Stork v;
io.smallrye.stork.spi.StorkInfrastructure v;
v := @parameter: io.smallrye.stork.spi.StorkInfrastructure;
v = <io.smallrye.stork.Stork: java.util.concurrent.atomic.AtomicReference REFERENCE>;
v = new io.smallrye.stork.Stork;
specialinvoke v.<io.smallrye.stork.Stork: void <init>(io.smallrye.stork.spi.StorkInfrastructure)>(v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(null, v);
return;
}
public static void initialize()
{
io.smallrye.stork.integration.DefaultStorkInfrastructure v;
v = new io.smallrye.stork.integration.DefaultStorkInfrastructure;
specialinvoke v.<io.smallrye.stork.integration.DefaultStorkInfrastructure: void <init>()>();
staticinvoke <io.smallrye.stork.Stork: void initialize(io.smallrye.stork.spi.StorkInfrastructure)>(v);
return;
}
public io.smallrye.stork.api.ServiceRegistrar getServiceRegistrar(java.lang.String)
{
io.smallrye.stork.Stork v;
java.util.Map v;
java.lang.Object v;
java.lang.String v;
io.smallrye.stork.api.NoSuchServiceRegistrarException v;
v := @this: io.smallrye.stork.Stork;
v := @parameter: java.lang.String;
v = v.<io.smallrye.stork.Stork: java.util.Map serviceRegistrars>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new io.smallrye.stork.api.NoSuchServiceRegistrarException;
specialinvoke v.<io.smallrye.stork.api.NoSuchServiceRegistrarException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicReference v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lio/smallrye/stork/Stork;");
<io.smallrye.stork.Stork: org.slf4j.Logger LOGGER> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
<io.smallrye.stork.Stork: java.util.concurrent.atomic.AtomicReference REFERENCE> = v;
return;
}
}