Дано: spring framework 3.2 и jboss 7.X.
При старте в логе предупреждение:
WARN [org.jboss.as.ee] (MSC service thread 1-6) 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
at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:606)
at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
Причина кроется в классе StandardServletAsyncWebRequest, в котором нет публичного пустого конструктора, а только лишь:
public StandardServletAsyncWebRequest(HttpServletRequest request, HttpServletResponse response) {super(request, response);}
На работу это предупреждение не влияет (по крайней мере, описания проблем именно из-за этого не встречал).
Если же вы относитесь к тем людям, которые считают, что корректно
работающее приложение не должно содержать в своём логе никаких подобных
предупреждений и стектрейсов, то можно "тупо" подавить логирование этих
строк в конфигурационном файле (standalone.xml, например).
В jboss-as-7.1:
<subsystem xmlns="urn:jboss:domain:logging:1.1">
<console-handler name="CONSOLE">
<filter>
<not>
<match pattern="JBAS011054|JBAS011006"/>
</not>
</filter>
</console-handler>
</subsystem>
В jboss-as-7.2 синтаксис немного другой:
<subsystem xmlns="urn:jboss:domain:logging:1.2">
<console-handler name="CONSOLE">
<filter value='not(match("JBAS011054"))' />
</console-handler>
</subsystem>
Комментариев нет:
Отправить комментарий