Joseph Snyder created WELD-1133:
-----------------------------------

             Summary: 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.8.Final, 1.1.7.Final, 1.1.6.Final, 1.1.5.Final
         Environment: linux
            Reporter: Joseph Snyder


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

        
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to