Proxy creation fails when a superclass does not have a no-arg constructor
Issue
When injecting an @ApplicationScoped bean, which extends a class that does not have a no-arg constructor the following exception occurs:
16:38:08,265 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."jboss-as-servlet-async.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."jboss-as-servlet-async.war".WeldStartService: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001435 Normal scoped bean class org.jboss.as.quickstarts.servlet.async.NotSimpleConstructorClass is not proxyable because it has no no-args constructor - Managed Bean [class org.jboss.as.quickstarts.servlet.async.SimpleBean] with qualifiers [@Any @Default].
at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:214)
at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:180)
at org.jboss.weld.util.Proxies.getUnproxyableTypesExceptionInt(Proxies.java:195)
at org.jboss.weld.util.Proxies.getUnproxyableTypesException(Proxies.java:169)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:148)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:164)
at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:383)
at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:368)
at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379)
at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
... 3 more
16:38:08,479 ERROR [org.jboss.as.server] (management-handler-thread - 1) JBAS015870: Deploy of deployment "jboss-as-servlet-async.war" was rolled back with the following failure message:
{"JBAS014671: Failed services" => {"jboss.deployment.unit.\"jboss-as-servlet-async.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"jboss-as-servlet-async.war\".WeldStartService: Failed to start service
Caused by: org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001435 Normal scoped bean class org.jboss.as.quickstarts.servlet.async.NotSimpleConstructorClass is not proxyable because it has no no-args constructor - Managed Bean [class org.jboss.as.quickstarts.servlet.async.SimpleBean] with qualifiers [@Any @Default]."}}
Environment
- Red Hat JBoss EAP
- 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.