This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import org.springframework.http.HttpHeaders; | |
import org.springframework.http.HttpRequest; | |
import org.springframework.http.MediaType; | |
import org.springframework.http.client.ClientHttpRequestExecution; | |
import org.springframework.http.client.ClientHttpRequestInterceptor; | |
import org.springframework.http.client.ClientHttpResponse; | |
import org.springframework.util.StreamUtils; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.apache.http.client.HttpClient; | |
import org.apache.http.client.config.CookieSpecs; | |
import org.apache.http.client.config.RequestConfig; | |
import org.apache.http.impl.client.CloseableHttpClient; | |
import org.apache.http.impl.client.HttpClients; | |
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | |
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |
import org.springframework.boot.web.client.RestTemplateCustomizer; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@AutoConfiguration(before = io.awspring.cloud.autoconfigure.sqs.SqsAutoConfiguration.class, | |
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration") | |
@ConditionalOnBean(Tracing.class) | |
public class SqsTracingAutoConfiguration { | |
@Bean(name = SqsBeanNames.SQS_LISTENER_ANNOTATION_BEAN_POST_PROCESSOR_BEAN_NAME) | |
TracingSqsListenerAnnotationBeanPostProcessor tracingSLABPP(Tracing tracing) { | |
return new TracingSqsListenerAnnotationBeanPostProcessor(tracing); | |
} | |
static class TracingSqsListenerAnnotationBeanPostProcessor extends SqsListenerAnnotationBeanPostProcessor { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Bean | |
SqsTemplate sqsTemplate(SqsAsyncClient sqsAsyncClient, ObjectMapper objectMapper, Tracing tracing) { | |
var injector = tracing.propagation().injector( | |
(Propagation.Setter<Map<String, Object>, String>) (headersMap, key, value) -> { | |
// only propagate the traceparent attr, no additional baggage, since SQS only supports a max of 10 attrs | |
if (key.startsWith("trace")) headersMap.put(key, value); | |
}); | |
var converter = new SqsMessagingMessageConverter() { | |
@Override | |
public Message fromMessagingMessage(org.springframework.messaging.Message<?> message, MessageConversionContext context) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Starting with Boot 3, the {@code client.name} tag is no longer included by default | |
* in the {@code http.client.requests} metrics. Restore it by overriding | |
* {@link DefaultClientRequestObservationConvention#getLowCardinalityKeyValues(ClientRequestObservationContext)}. | |
* | |
* @return {@link ClientRequestObservationConvention} that adds the {@code client.name} to the low cardinality key-values. | |
*/ | |
@Bean | |
ClientRequestObservationConvention clientNameAddingObservationConvention() { | |
return new DefaultClientRequestObservationConvention() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); | |
DefaultHttpClient client = (DefaultHttpClient) factory.getHttpClient(); | |
client.getCredentialsProvider().setCredentials( | |
new AuthScope(hostName, portNumber), | |
new UsernamePasswordCredentials(username, password)); | |
RestTemplate restTemplate = new RestTemplate(factory); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.slf4j.MDC; | |
import org.springframework.core.task.TaskDecorator; | |
import java.util.Map; | |
public class MDCPropagatingTaskDecorator implements TaskDecorator { | |
@Override | |
public Runnable decorate(Runnable runnable) { | |
Map<String, String> callerContext = MDC.getCopyOfContextMap(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<#ftl strip_whitespace=true> | |
<#import "spring.ftl" as spring /> | |
<#-- This file contains form-related macros for use in the other Freemarker template files. | |
The generated HTML is intended for use with Twitter Bootstrap based forms. --> | |
<#-- | |
* radioButtons | |
* | |
* @param path the name of the field to bind to |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.apache.catalina.connector.Connector; | |
import org.apache.coyote.AbstractProtocol; | |
import org.springframework.boot.context.properties.ConfigurationProperties; | |
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; | |
import org.springframework.boot.web.server.WebServerFactoryCustomizer; | |
import org.springframework.context.annotation.Bean; | |
import org.springframework.context.annotation.Configuration; | |
import org.springframework.context.annotation.Profile; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import io.micrometer.core.instrument.Gauge; | |
import io.micrometer.core.instrument.MeterRegistry; | |
import io.micrometer.core.instrument.binder.BaseUnits; | |
import io.micrometer.core.instrument.binder.MeterBinder; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import org.springframework.util.ReflectionUtils; | |
import java.lang.reflect.Method; |
NewerOlder