[JBoss JIRA] (AS7-3081) Misplaced @PersistenceContext Causes Untraceable Deployment Failure
by Jim Brownfield (Created) (JIRA)
Misplaced @PersistenceContext Causes Untraceable Deployment Failure
-------------------------------------------------------------------
Key: AS7-3081
URL: https://issues.jboss.org/browse/AS7-3081
Project: Application Server 7
Issue Type: Bug
Components: JPA / Hibernate
Affects Versions: 7.0.2.Final
Environment: Macintosh 10.7.2
Reporter: Jim Brownfield
Assignee: Scott Marlow
When deploying an ear file that contains an Entity bean with an inappropriate @PersistenceContext annotation, the following stacktrace is generated, and the deployment fails:
15:36:16,322 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-9) MSC00001: Failed to start service jboss.deployment.subunit."xxx.xxxxxx.xxxxx.deploy.ear"."xxx.xxxxxx.xxxxx.ejb-0.0.1-SNAPSHOT.jar".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."xxx.xxxxxx.xxxxx.deploy.ear"."xxx.xxxxxx.xxxxx.ejb-0.0.1-SNAPSHOT.jar".PARSE: Failed to process phase PARSE of subdeployment "xxx.xxxxxx.xxxxx.ejb-0.0.1-SNAPSHOT.jar" of deployment "xxx.xxxxxx.xxxxx.deploy.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_29]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_29]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_29]
Caused by: java.lang.IllegalArgumentException: Class level annotations must provide a name.
at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.processClass(JPAAnnotationParseProcessor.java:233)
at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.processPersistenceAnnotations(JPAAnnotationParseProcessor.java:127)
at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.deploy(JPAAnnotationParseProcessor.java:90)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
... 5 more
The IllegalArgumentException gives no data for the annotation, the class, or any relevant data to the cause. I built JBoss debug from source to discover that the culprit in my case was a misplaced PersistenceContext annotation in an entity bean. The offending annotation had actually existed in a version of our code running in JBoss 4 without error.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (AS7-5562) Log message too cryptic when deployment references a non-existent configuration in profile config
by Brad Maxwell (JIRA)
[ https://issues.jboss.org/browse/AS7-5562?page=com.atlassian.jira.plugin.s... ]
Brad Maxwell moved JBPAPP-9934 to AS7-5562:
-------------------------------------------
Project: Application Server 7 (was: JBoss Enterprise Application Platform)
Key: AS7-5562 (was: JBPAPP-9934)
Issue Type: Enhancement (was: Bug)
Workflow: GIT Pull Request workflow (was: jira)
Affects Version/s: 7.1.2.Final (EAP)
(was: EAP 6.0.0)
Component/s: Server
(was: Other)
Security: (was: Public)
Fix Version/s: Open To Community
(was: TBD EAP 6)
Docs QE Status: (was: NEW)
> Log message too cryptic when deployment references a non-existent configuration in profile config
> -------------------------------------------------------------------------------------------------
>
> Key: AS7-5562
> URL: https://issues.jboss.org/browse/AS7-5562
> Project: Application Server 7
> Issue Type: Enhancement
> Components: Server
> Affects Versions: 7.1.2.Final (EAP)
> Reporter: Brad Maxwell
> Assignee: Brad Maxwell
> Fix For: Open To Community
>
> Attachments: helloWorld.ear, helloWorld.ear-source.zip
>
>
> When a jboss-ejb-client.xml inside of a deployment that references an outbound-socket that does not exist in the standalone.xml, it logs a cryptic message and does not explain where the issue is. Note when a deployment contains more sub deployements, the log message is much larger and the issue if you know what to look for is hidden in the middle.
> 15:41:01,189 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.ejb3.dd-based-ejb-client-context.\"helloWorld.ear\" Missing[jboss.remoting.endpoint.subsystem.outbound-connection.part101node01-connection]","jboss.deployment.subunit.\"helloWorld.ear\".\"helloWorld.war\".INSTALL Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.unit.\"helloWorld.ear\".INSTALL Missing[JBAS014861: <one or more transitive dependencies>]"]}}}
> The error message should be translated to say something to the extent of
> "Your deployment helloWorld.ear contains a jboss-ejb-client.xml which references an outbound-socket named part101node01 which is not defined in your JBoss profile's remoting subsystem configuration"
> jboss.ejb3.dd-based-ejb-client-context.\"helloWorld.ear - this shows that helloWorld.ear is the deployment, jboss.ejb3.dd-based-ejb-client-context seems to the jboss-ejb-client.xml
> jboss.remoting.endpoint.subsystem.outbound-connection.part101node01-connection - this shows that the subsystem that is missing the outbound-configuration is the remoting subsystem and that the reference name missing is part101node01
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months
[JBoss JIRA] (JBWEB-232) Allow StandardContext to expose start problems to callers instead of logging them
by Brian Stansberry (JIRA)
Brian Stansberry created JBWEB-232:
--------------------------------------
Summary: Allow StandardContext to expose start problems to callers instead of logging them
Key: JBWEB-232
URL: https://issues.jboss.org/browse/JBWEB-232
Project: JBoss Web
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Affects Versions: JBossWeb-7.0.10.GA
Reporter: Brian Stansberry
Assignee: Remy Maucherat
See discussion of the log.txt attached to AS7-2322. That JIRA is about how AS7 handles exceptions, but in the case of the example the user attached, there is not much the AS can do. StandardContext is catching any exceptions that occur, logging at error, and then discarding the exception.
I can see how this behavior might be appropriate for some usages, e.g. standalone Tomcat. And the logic after an exception is caught is complex, so I can see why just throwing a LifecycleException is not an option. But is it possible to have a configuration property on StandardContext such that instead of logging and discarding exceptions, it would *not* log them and retain the exception so the caller to start() could access it? Or perhaps throw it on in a LifecycleException at the end? Basically some mechanism such that the AS' WebDeploymentService could take responsibility for reporting the exception.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 9 months