Spring3.2 and jboss as 7

2019-01-13 10:23发布

问题:

How to resolve this warn? If i use Spring 3.2 i am see this warn:

14:24:19,014 WARN [org.jboss.as.ee] (MSC service thread 1-10) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to exception: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: Could not find default constructor for class org.springframework.web.context.request.async.StandardServletAsyncWebRequest

回答1:

Apparently this is "normal", everything should still work. Likely there's an (anonymous) inner class in StandardServletAsyncWebRequest.

See also Applicaiton is deployed in JBoss7.0.2 Final (Arc ) but failed to in 7.1.1 Final (Brontes) and metadata-complete="true" not respected. Basically it's just a warning, everything is fine.



回答2:

To expand aloplop85's link, you can ignore this message. You might want to suppress it because it is distracting (in my opinion, a working application should never normally print stack traces in the log). The instructions are here http://middlewaremagic.com/jboss/?p=2421, short version is to add the following text into the config file (e.g.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>

For JBoss 7.2.0, the syntax is a bit different:

  <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:

This is how I suppressed it in my jboss-as-7.1.1

updated configuration/standalone.xml as

  <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 warns you when can't find no-args constructor for a class. In this case, there is no no-arg constructor for this Spring class. Just this one:

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

No problem with that..That will work..