String functionName = context.getValue(Named.class, String.class).orElse(NameUtils.hyphenate(context.getMethodName(), true));
request.body(body); MediaType[] contentTypes = context.getValue(Produces.class, MediaType[].class).orElse(DEFAULT_ACCEPT_TYPES); if (ArrayUtils.isNotEmpty(contentTypes)) { request.contentType(contentTypes[0]); MediaType[] acceptTypes = context.getValue(Consumes.class, MediaType[].class).orElse(DEFAULT_ACCEPT_TYPES); boolean isSingle = Publishers.isSingle(javaReturnType) || isFuture || context.getValue(Consumes.class, "single", Boolean.class).orElse(false); Argument<?> publisherArgument = returnType.asArgument().getFirstTypeVariable().orElse(Argument.OBJECT_ARGUMENT);
@Override public Object intercept(MethodInvocationContext<Object, Object> context) { String executorName = context.getValue(Async.class, String.class).orElse(TaskExecutors.SCHEDULED); ExecutorService executorService = beanLocator.findBean(ExecutorService.class, Qualifiers.byName(executorName)).orElseThrow(() -> new TaskExecutionException("No ExecutorService named [" + executorName + "] configured in application context")
@Override public final Object intercept(MethodInvocationContext<Object, Object> context) { if (context.hasDeclaredAnnotation(Transactional.class)) { String transactionManagerName = context.getValue(Transactional.class, String.class).orElse(null); if (StringUtils.isEmpty(transactionManagerName)) { transactionManagerName = null; } PlatformTransactionManager transactionManager = resolveTransactionManager(transactionManagerName); String finalTransactionManagerName = transactionManagerName; TransactionAttribute transactionDefinition = resolveTransactionAttribute( context.getExecutableMethod(), context, finalTransactionManagerName ); TransactionTemplate template = new TransactionTemplate( transactionManager, transactionDefinition ); return template.execute(status -> context.proceed()); } else { return context.proceed(); } }
@Override public final Object intercept(MethodInvocationContext<Object, Object> context) { if (context.hasAnnotation(Transactional.class)) { String transactionManagerName = context.getValue(Transactional.class, String.class).orElse(null); if (StringUtils.isEmpty(transactionManagerName)) { transactionManagerName = null; } PlatformTransactionManager transactionManager = resolveTransactionManager(transactionManagerName); String finalTransactionManagerName = transactionManagerName; TransactionAttribute transactionDefinition = resolveTransactionAttribute( context.getExecutableMethod(), context, finalTransactionManagerName ); TransactionTemplate template = new TransactionTemplate( transactionManager, transactionDefinition ); return template.execute(status -> context.proceed()); } else { return context.proceed(); } }
.getValue(CircuitBreaker.class, "reset", Duration.class) .map(Duration::toMillis).orElse(Duration.ofSeconds(DEFAULT_CIRCUIT_BREAKER_TIMEOUT_IN_MILLIS).toMillis()); retryState = circuitContexts.computeIfAbsent(
request.body(body); MediaType[] contentTypes = context.getValue(Produces.class, MediaType[].class).orElse(DEFAULT_ACCEPT_TYPES); if (ArrayUtils.isNotEmpty(contentTypes)) { request.contentType(contentTypes[0]); MediaType[] acceptTypes = context.getValue(Consumes.class, MediaType[].class).orElse(DEFAULT_ACCEPT_TYPES); boolean isSingle = Publishers.isSingle(javaReturnType) || isFuture || context.getValue(Consumes.class, "single", Boolean.class).orElse(false); Argument<?> publisherArgument = returnType.asArgument().getFirstTypeVariable().orElse(Argument.OBJECT_ARGUMENT);
request.body(body); MediaType[] contentTypes = context.getValue(Produces.class, MediaType[].class).orElse(DEFAULT_ACCEPT_TYPES); if (ArrayUtils.isNotEmpty(contentTypes)) { request.contentType(contentTypes[0]); MediaType[] acceptTypes = context.getValue(Consumes.class, MediaType[].class).orElse(DEFAULT_ACCEPT_TYPES); boolean isSingle = Publishers.isSingle(javaReturnType) || isFuture || context.getValue(Consumes.class, "single", Boolean.class).orElse(false); Argument<?> publisherArgument = returnType.asArgument().getFirstTypeVariable().orElse(Argument.OBJECT_ARGUMENT);