[weld-issues] [JBoss JIRA] (WELD-1133) Session EJB deployment failure

Martin Kouba (JIRA) jira-events at lists.jboss.org
Mon May 14 11:37:18 EDT 2012


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

Martin Kouba commented on WELD-1133:
------------------------------------

1.0.4.SP3 is the correct version as it is the last release of TCK. This test should be definitely excluded. Most likely I forgot to update *tck-tests.xml* in 1.0 branch.

{quote}
The bug in CDITCK-249 says that it's resolved by making the interface OfficeLocal extend BuildingLocal. But according to the EJB spec this will not get Office (implements OfficeLocal) a local type of BuildingLocal. The session bean (Office) must explicitly declare the interfaces that will be included in its local types.
{quote}

I'm not completely sure about this statement. The spec does allow Session Bean’s Business Interface to have superinterfaces (see *4.9.7 Session Bean’s Business Interface* and *4.9.11 Session Bean’s Local Interface*). And the section you're touching applies to Session Bean Superclasses only.

Anyway I will update the exclude list in 1.0 branch.
                
> 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