[weld-issues] [JBoss JIRA] (WELD-1133) Session EJB deployment failure
Joseph Snyder (JIRA)
jira-events at lists.jboss.org
Fri Jun 1 09:55:18 EDT 2012
[ https://issues.jboss.org/browse/WELD-1133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698047#comment-12698047 ]
Joseph Snyder commented on WELD-1133:
-------------------------------------
Thanks Martin...not to belabor the point but please reference section 4.9.2.1, Session Bean Superclasses, of the ejb spec as it provides a very specific example of what is and what is not allowed as far as interface inheritence.
> Session EJB deployment failure
> ------------------------------
>
> Key: WELD-1133
> URL: https://issues.jboss.org/browse/WELD-1133
> Project: Weld
> Issue Type: Bug
> Components: GlassFish Integration, Infrastructure
> Affects Versions: 1.1.5.Final, 1.1.6.Final, 1.1.7.Final, 1.1.8.Final
> Environment: linux
> Reporter: Joseph Snyder
> Assignee: Marko Lukša
>
> Starting with Weld 1.1.5.Final there are several CTS failures when running CTS against GlassFish. One specific test failure is org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationIntegrationTest. When the application associated with this test is deployed the deployment fails (see "Deployment Failure" below). I investigated the specs and it appears that weld is expecting the type of the session ejb (Office) to include the interface defined by the session bean that it extends (Building).
> The CDI spec states in section "4.3.1 Direct and indirect specialization"
> ...
> Furthermore, X must have all the bean types of Y. If X does not have some bean type of Y, the container automatically detects the problem and treats it as a definition error.
> ..
> However this is in direct violation of the ejb 3.1 specification section 4.9.2.1 Session Bean Superclasses:
> ...
> As an example, the client views exposed by a particular session bean are not inherited by a subclass that also happens to define a session bean.
> @Stateless
> public class A implements Foo { ... }
> @Stateless
> public class B extends A implements Bar { ... }
> Assuming Foo and Bar are local business interfaces and there is no associated deployment descriptor, session bean A exposes local business interface Foo and session bean B exposes local business interface Bar, but not Foo.
> ...
> Deployment Failure:
> [#|2012-05-09T18:19:20.875-0400|SEVERE|44.0|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=12;_ThreadName=Thread-2;|WELD-001511 Specializing bean Session bean [class org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.Office with qualifiers [@Any @Default]; local interfaces are [OfficeLocal] does not have bean type interface org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.BuildingLocal of specialized bean Session bean [class org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.Building with qualifiers [@Any @Default]; local interfaces are [BuildingLocal]
> org.glassfish.deployment.common.DeploymentException: WELD-001511 Specializing bean Session bean [class org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.Office with qualifiers [@Any @Default]; local interfaces are [OfficeLocal] does not have bean type interface org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.BuildingLocal of specialized bean Session bean [class org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.Building with qualifiers [@Any @Default]; local interfaces are [BuildingLocal]
--
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
More information about the weld-issues
mailing list