下面列出了怎么用javax.enterprise.inject.Intercepted的API类实例代码及写法,或者点击链接到github查看源代码。
@Inject
public FaultToleranceInterceptor(
FallbackHandlerProvider fallbackHandlerProvider,
@Intercepted Bean<?> interceptedBean,
MetricsCollectorFactory metricsCollectorFactory,
FaultToleranceOperationProvider operationProvider,
StrategyCache cache,
ExecutorProvider executorProvider,
Event<CircuitBreakerStateChanged> cbStateEvent) {
this.fallbackHandlerProvider = fallbackHandlerProvider;
this.interceptedBean = interceptedBean;
this.metricsCollectorFactory = metricsCollectorFactory;
this.operationProvider = operationProvider;
this.executorProvider = executorProvider;
this.cache = cache;
this.cbStateEvent = cbStateEvent;
asyncExecutor = executorProvider.getGlobalExecutor();
timeoutExecutor = executorProvider.getTimeoutExecutor();
requestContextController = RequestContextControllerProvider.load().get();
}
private static IndexView buildAdditionalIndex() {
Indexer indexer = new Indexer();
// CDI API
index(indexer, ActivateRequestContext.class.getName());
index(indexer, Default.class.getName());
index(indexer, Any.class.getName());
index(indexer, Named.class.getName());
index(indexer, Initialized.class.getName());
index(indexer, BeforeDestroyed.class.getName());
index(indexer, Destroyed.class.getName());
index(indexer, Intercepted.class.getName());
index(indexer, Model.class.getName());
// Arc built-in beans
index(indexer, ActivateRequestContextInterceptor.class.getName());
index(indexer, InjectableRequestContextController.class.getName());
return indexer.complete();
}
@Inject
private MeteredInterceptor(@Intercepted Bean<?> bean, MetricRegistry registry, MetricResolver resolver) {
this.bean = bean;
this.registry = registry;
this.resolver = resolver;
}
@Inject
private CountedInterceptor(@Intercepted Bean<?> bean, MetricRegistry registry, MetricResolver resolver) {
this.bean = bean;
this.registry = registry;
this.resolver = resolver;
}
@Inject
private TimedInterceptor(@Intercepted Bean<?> bean, MetricRegistry registry, MetricResolver resolver) {
this.bean = bean;
this.registry = registry;
this.resolver = resolver;
}
@Inject
private ExceptionMeteredInterceptor(@Intercepted Bean<?> bean, MetricRegistry registry, MetricResolver resolver) {
this.bean = bean;
this.registry = registry;
this.resolver = resolver;
}