public Module getModule() { return binder -> { binder.bind(ThriftHeaderProvider.class).to(DefaultThriftHeaderProvider.class).in(SINGLETON); driftClientBinder(binder) .bindDriftClient(PrestoThriftService.class) .withAddressSelector(extendedSimpleAddressSelector()); }; } }
@Override public void configure(Binder binder) { driftClientBinder(binder) .bindDriftClient(PrestoThriftService.class) .withExceptionClassifier(t -> { if (t instanceof PrestoThriftServiceException) { boolean retryable = ((PrestoThriftServiceException) t).isRetryable(); return new ExceptionClassification(Optional.of(retryable), HostStatus.NORMAL); } return NORMAL_EXCEPTION; }); binder.bind(ThriftConnector.class).in(Scopes.SINGLETON); binder.bind(ThriftMetadata.class).in(Scopes.SINGLETON); binder.bind(ThriftSplitManager.class).in(Scopes.SINGLETON); binder.bind(ThriftPageSourceProvider.class).in(Scopes.SINGLETON); configBinder(binder).bindConfig(ThriftConnectorConfig.class); binder.bind(ThriftSessionProperties.class).in(Scopes.SINGLETON); binder.bind(ThriftIndexProvider.class).in(Scopes.SINGLETON); binder.bind(ThriftConnectorStats.class).in(Scopes.SINGLETON); newExporter(binder).export(ThriftConnectorStats.class) .as(generatedNameOf(ThriftConnectorStats.class, connectorId)); }
public DriftClientBindingBuilder withMethodInvocationFilter(MethodInvocationFilterBinder filterBinder) { filterBinder.bind(filterBinder(), binder, annotation, prefix); return this; }
public <T> DriftClientBindingBuilder bindDriftClient(Class<T> clientInterface) { String configPrefix = getServiceName(clientInterface); return bindDriftClient(clientInterface, configPrefix, DefaultClient.class); }
public DriftClientBindingBuilder withExceptionClassifier(ExceptionClassifierBinder classifierBinder) { classifierBinder.bind(classifierBinder(), annotation, prefix); return this; }
public DriftClientBindingBuilder withAddressSelector(AddressSelectorBinder selectorBinder) { selectorBinder.bind(binder, annotation, prefix); return this; }
public <T, C> void bindConfigDefaults(Class<T> clientInterface, Class<C> configClass, ConfigDefaults<C> configDefaults) { bindConfigDefaults(configClass, DefaultClient.class, configClass, configDefaults); }
public static Annotation getDriftClientAnnotation(Class<?> value, Class<? extends Annotation> qualifier) { return new DriftClientAnnotationImpl(value, qualifier); }
public <T> void bindClientConfigDefaults(Class<T> clientInterface, ConfigDefaults<DriftClientConfig> configDefaults) { bindClientConfigDefaults(clientInterface, DefaultClient.class, configDefaults); }
public static DriftClientBinder driftClientBinder(Binder binder) { return new DriftClientBinder(binder); }
public <T> DriftClientBindingBuilder bindDriftClient(Class<T> clientInterface) { String configPrefix = getServiceName(clientInterface); return bindDriftClient(clientInterface, configPrefix, DefaultClient.class); }
public DriftClientBindingBuilder withMethodInvocationFilter(MethodInvocationFilterBinder filterBinder) { filterBinder.bind(filterBinder(), binder, annotation, prefix); return this; }
public DriftClientBindingBuilder withExceptionClassifier(ExceptionClassifierBinder classifierBinder) { classifierBinder.bind(classifierBinder(), annotation, prefix); return this; }
public DriftClientBindingBuilder withAddressSelector(AddressSelectorBinder selectorBinder) { selectorBinder.bind(binder, annotation, prefix); return this; }
public <T> void bindClientConfigDefaults(Class<T> clientInterface, Class<? extends Annotation> annotationType, ConfigDefaults<DriftClientConfig> configDefaults) { bindConfigDefaults(clientInterface, annotationType, DriftClientConfig.class, configDefaults); }
public static Annotation getDriftClientAnnotation(Class<?> value, Class<? extends Annotation> qualifier) { return new DriftClientAnnotationImpl(value, qualifier); }
public <T> void bindClientConfigDefaults(Class<T> clientInterface, ConfigDefaults<DriftClientConfig> configDefaults) { bindClientConfigDefaults(clientInterface, DefaultClient.class, configDefaults); }
public static DriftClientBinder driftClientBinder(Binder binder) { return new DriftClientBinder(binder); }
public <T, C> void bindConfigDefaults(Class<T> clientInterface, Class<C> configClass, ConfigDefaults<C> configDefaults) { bindConfigDefaults(configClass, DefaultClient.class, configClass, configDefaults); }
public <T> void bindClientConfigDefaults(Class<T> clientInterface, Class<? extends Annotation> annotationType, ConfigDefaults<DriftClientConfig> configDefaults) { bindConfigDefaults(clientInterface, annotationType, DriftClientConfig.class, configDefaults); }