小编Sha*_*ark的帖子

Spring HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE并不总是设置

好奇,如果有人可以分享一些关于为什么HttpServletRequest可能没有从Spring Framework设置特定属性的反馈.我们正在使用HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE键入的属性.(https://docs.spring.io/spring-framework/docs/4.3.4.RELEASE/javadoc-api/org/springframework/web/servlet/HandlerMapping.html)

调用链后,示例代码位于OncePerRequestFilter.doFilterInternal()内.

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
    throws ServletException, IOException {
    String path = (new UrlPathHelper()).getPathWithinApplication(request);
    chain.doFilter(request, response);
    String scrubbedPath = scrubPath(request, path);
}

private String scrubPath(HttpServletRequest request, String path) {
    String message = "Response Metric Info";
    String scrubbedPath = path;
    Object bestMatchingPattern = request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
    if (bestMatchingPattern != null) {
        //This changes path from .../collection/{alias} to ../collection/alias
        scrubbedPath = fixSpecialCharacters(bestMatchingPattern.toString());
    } else {
        // this is temporary to help with understanding why we get …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc

7
推荐指数
1
解决办法
726
查看次数

lombok 是否应该在 spring-boot-dependencies 中提供一个作用域?

根据 Project Lombok 文档,lombok 依赖项应该是提供的范围 ( https://projectlombok.org/setup/maven )。该范围是否应该<dependencyManagement>在 spring-boot-dependencies pom.xml 中定义?

spring-boot

6
推荐指数
1
解决办法
2782
查看次数

将 @RabbitListener 与 Jackson2JsonMessageConverter 一起使用

我花了最后一点时间尝试获取它,以便我使用@RabbitListener 注册的处理程序将使用 Jackson2JsonMessageConverter 转换消息。不幸的是,无论什么配置设置,我都只尝试使用 SimpleMessageConverter。

@Component
@Slf4j
public class TestQueueListener {
    @RabbitListener(queues = "#{@allQueue}")
    public void processMessage(String data) {
        log.trace("Message received: {}", data);
    }

    @RabbitListener(queues = "#{@invokeQueue}")
    public void processSpawnInstanceMessage(TestConfig config) {
        log.trace("Invoking with config: {}", config);

        invokeSomeMethod(config);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我目前拥有的配置,我认为最接近记录的内容:

@Configuration
@EnableRabbit
public class MessagingConfiguration {
    @Bean
    public MessageConverter messageConverter() {
        ContentTypeDelegatingMessageConverter messageConverter = new ContentTypeDelegatingMessageConverter();
        messageConverter.addDelgate("application/json", new Jackson2JsonMessageConverter());
        return messageConverter;
    }

    @Bean
    public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, MessageConverter messageConverter) {
        RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
        rabbitTemplate.setMessageConverter(messageConverter);
        return rabbitTemplate;
    } …
Run Code Online (Sandbox Code Playgroud)

spring-amqp

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×1

spring-amqp ×1

spring-boot ×1

spring-mvc ×1