【问题标题】:spring deferred result response in weblogicweblogic中的spring延迟结果响应
【发布时间】:2017-02-01 17:05:16
【问题描述】:

我在 Spring MVC 中实现了 DeferredResult。它在 Tomcat8 中返回正确的响应,但是当我部署到 weblogic 12.1.3 时出现 404 错误。我试图调试以找出发生了什么然后在某些时候处理程序正在寻找 web-inf 目录中的视图。我在这里很困惑。

你能帮我理解一下吗?

我正在使用 Spring

  1. Java 7
  2. Spring 4.2.0.RELEASE
  3. Spring OAuth2
  4. Weblogic 12.1.3

    @RequestMapping(value = "/file/{id}")
    @ResponseBody
    public DeferredResult<ResponseEntity<Resource>> file(@PathVariable String id) {
    DeferredResult<ResponseEntity<Resource>> result = new DeferredResult<>();
    
    try {
        final ImageObject image = null;
        final Resource fileResource = new FileSystemResource(image.getImagePath().replace("E:", "C:"));
        final HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        headers.setContentLength(fileResource.contentLength());
        result.setResult(new ResponseEntity<>(fileResource, headers, HttpStatus.OK));
    } catch (Exception e) {
    
    }
    
    return result;
    }
    

提前致谢。

【问题讨论】:

  • 你解决了这个问题吗?

标签: spring spring-mvc weblogic


【解决方案1】:

在我的例子中,Spring 错误地连接了 @RestController 的 @RequestMapping 路径和方法的 @RequestMapping 路径。 @RestController 的 @RequestMapping 路径在 Spring 日志的结果 URI 中重复。

我发现的唯一解决方法是为每个所需的 DeferredResult 方法创建 @RestControllers,而不在方法中指定 @RequestMapping 路径。

WebLogic 12.2.1.3.0,Spring 4.3.23。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多