[jboss-jira] [JBoss JIRA] (WFLY-1097) relax the requirement for having EJB bean class no-arg constructor

Susy Fonti (JIRA) issues at jboss.org
Thu Aug 21 03:23:31 EDT 2014


    [ https://issues.jboss.org/browse/WFLY-1097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12994239#comment-12994239 ] 

Susy Fonti edited comment on WFLY-1097 at 8/21/14 3:23 AM:
-----------------------------------------------------------

Hi all.
Sorry but I still get the error message about missing default constructor and I am using  WildFly 8.1.0.Final "Kenny" .
Here is my error message:
10:17:33,880 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.3.Final
10:17:34,634 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.2.Final
10:17:34,725 INFO  [org.jboss.as] (MSC service thread 1-7) JBAS015899: WildFly 8.1.0.Final "Kenny" starting
................
10:18:03,404 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.subunit."ProvazzaVAADIN.ear"."web.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."ProvazzaVAADIN.ear"."web.war".INSTALL: JBAS018733: Failed to process phase INSTALL of subdeployment "web.war" of deployment "Prova.ear"
	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_05]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_05]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_05]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011030: Could not configure component EntityProviderBean
	at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:95)
	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
	... 5 more
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014227: EJB EntityProviderBean of type prova.EntityProviderBean must have public default constructor
	at org.jboss.as.ejb3.component.EJBValidationConfigurator.configure(EJBValidationConfigurator.java:66)
	at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
	... 6 more

Is there something wrong in  my configuration?
Thanks.
Susanna


was (Author: susy.fonti):
Hi all.
Sorry but I still get the error message about missing default constructor and I am using Wildfly 8.0.final.
Here is my error message:
10:17:33,880 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.3.Final
10:17:34,634 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.2.Final
10:17:34,725 INFO  [org.jboss.as] (MSC service thread 1-7) JBAS015899: WildFly 8.1.0.Final "Kenny" starting
................
10:18:03,404 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.subunit."ProvazzaVAADIN.ear"."web.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."ProvazzaVAADIN.ear"."web.war".INSTALL: JBAS018733: Failed to process phase INSTALL of subdeployment "web.war" of deployment "Prova.ear"
	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_05]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_05]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_05]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011030: Could not configure component EntityProviderBean
	at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:95)
	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
	... 5 more
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014227: EJB EntityProviderBean of type prova.EntityProviderBean must have public default constructor
	at org.jboss.as.ejb3.component.EJBValidationConfigurator.configure(EJBValidationConfigurator.java:66)
	at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
	... 6 more

Is there something wrong in  my configuration?
Thanks.
Susanna

> relax the requirement for having EJB bean class no-arg constructor
> ------------------------------------------------------------------
>
>                 Key: WFLY-1097
>                 URL: https://issues.jboss.org/browse/WFLY-1097
>             Project: WildFly
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: EE
>            Reporter: Cheng Fang
>            Assignee: Stuart Douglas
>             Fix For: 8.1.0.CR2, 8.1.0.Final
>
>
> Currently AS7 requires all EJB bean class to have a public no-arg
> constructor, even when cdi is enabled and there is a @Inject constructor.
> The deployment of EJB with no default constructor will fail
> validation. I understand this is a EJB spec requirement, but I guess it's
> more of legacy from pre-CDI days.
> I'm wondering if we can relax it, to support EJB bean classes with
> only @Inject constructor and no default constructor. This is currently supported in GlassFish/RI. 
> The stacktrace from validation:
> {noformat}
> 10:13:36,354 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-9) MSC00001: Failed to start service jboss.deployment.unit."test.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."test.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "test.war"
>         at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:123) [jboss-as-server-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]
>         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$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_35]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_35]
>         at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_35]
> Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011030: Could not configure component TestBean
>         at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:91)
>         at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) [jboss-as-server-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]
>         ... 5 more
> Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014227: EJB TestBean of type test.TestBean must have public default constructor
>         at org.jboss.as.ejb3.component.EJBValidationConfigurator.configure(EJBValidationConfigurator.java:59)
>         at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:80)
>         ... 6 more
> 10:13:36,360 INFO  [org.jboss.as.server] (management-handler-thread - 2) JBAS015870: Deploy of deployment "test.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"test.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"test.war\".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment \"test.war\"
>     Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011030: Could not configure component TestBean
>     Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014227: EJB TestBean of type test.TestBean must have public default constructor"}}
> 10:13:36,379 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment test.war in 19ms
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the jboss-jira mailing list