【问题标题】:Spring3.2 and jboss as 7Spring3.2和jboss为7
【发布时间】:2012-12-09 10:34:02
【问题描述】:

如何解决此警告?如果我使用 Spring 3.2,我会看到这个警告:

14:24:19,014 WARN [org.jboss.as.ee](MSC 服务线程 1-10)JBAS011006:未安装可选组件 org.springframework.web.context.request.async.StandardServletAsyncWebRequest 由于异常:org .jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: 找不到类 org.springframework.web.context.request.async.StandardServletAsyncWebRequest 的默认构造函数

【问题讨论】:

  • 你解决了这个问题吗?

标签: spring spring-mvc jboss7.x


【解决方案1】:

显然这是“正常的”,一切应该仍然有效。 StandardServletAsyncWebRequest 中可能有一个(匿名)内部类。

另见Applicaiton is deployed in JBoss7.0.2 Final (Arc ) but failed to in 7.1.1 Final (Brontes)metadata-complete="true" not respected。基本上只是一个警告,一切都很好。

【讨论】:

  • 我在几个应用程序中收到了很多这样的警告。到目前为止,他们还没有造成任何问题。我暂时忽略了它们,这似乎是大多数人正在做的事情。
  • 正如菲利普所说,这似乎是“正常的”,应用程序(至少在我的情况下)正常工作。目前,我使用过滤器隐藏这些 cmets,如 here 所述。
  • @Philippe - 如果它是“正常的”,那么 JBoss 对什么如此生气?正如 JBoss 所说,如果没有安装这个“可选”组件,会失去什么?
  • @wavicle 我不完全确定。我只能假设它与组件注入有关,例如。如果你想在某处注入匿名内部类的实例,它会失败。
【解决方案2】:

要展开 aloplop85 的链接,您可以忽略此消息。您可能想要抑制它,因为它会分散注意力(在我看来,正常工作的应用程序不应该在日志中正常打印堆栈跟踪)。说明在这里http://middlewaremagic.com/jboss/?p=2421,简短的版本是将以下文本添加到配置文件中(例如standalone.xml):

  <subsystem xmlns="urn:jboss:domain:logging:1.0">
      <console-handler name="CONSOLE">
          <!-- levels, formatters etc. -->
          <filter>
              <not>
                  <match pattern="JBAS011054"/>
              </not>
          </filter>
      </console-handler>
      <!-- and the same for other handlers -->
  </subsystem>

对于 JBoss 7.2.0,语法有点不同:

  <subsystem xmlns="urn:jboss:domain:logging:1.2">
      <console-handler name="CONSOLE">
         <!-- levels, formatters etc. -->
         <filter value='not(match("JBAS011054"))' />
      </console-handler>
      <!-- and the same for other handlers -->
  </subsystem>

【讨论】:

    【解决方案3】:

    这就是我在 jboss-as-7.1.1 中抑制它的方式

    将配置/standalone.xml 更新为

      <subsystem xmlns="urn:jboss:domain:logging:1.1">
          <console-handler name="CONSOLE">
              <filter>
                  <not>
                      <match pattern="JBAS011054|JBAS011006"/>
                  </not>
              </filter>
          </console-handler>
      </subsystem>
    

    【讨论】:

      【解决方案4】:

      当找不到类的无参数构造函数时,JBoss 会发出警告。 在这种情况下,这个 Spring 类没有无参数构造函数。 就这一个:

      public StandardServletAsyncWebRequest(HttpServletRequest request, HttpServletResponse response) { super(request, response); }

      没问题..这会工作..

      【讨论】:

      • 这看起来像是非标准的 JBoss 要求,而不是 Spring 错误。对吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多