[ 
https://issues.apache.org/jira/browse/OWB-871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13680325#comment-13680325
 ] 

Romain Manni-Bucau commented on OWB-871:
----------------------------------------

well consider things differently, spec designers considered the cdi container 
uses the ejb container as a simple user. It means you can only use business 
methods of the ejbs (through the ejb proxy). That's why you have these 
limitation for observers, producers too IIRC...

About the lifecycle, this one uses the same API between EJB and CDI but that's 
really the EJB container which handle the EJB, so the business method 
constraint is no more relevant here.
                
> WebbeansConfigurationException unless method is also declared in interface
> --------------------------------------------------------------------------
>
>                 Key: OWB-871
>                 URL: https://issues.apache.org/jira/browse/OWB-871
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Events
>    Affects Versions: 1.2.1
>            Reporter: Reinis Vicups
>         Attachments: observerininterface.zip
>
>
> In this scenario I receive WebbeansConfigurationException like this:
> SEVERE - CDI Beans module deployment failed
> org.apache.webbeans.exception.WebBeansConfigurationException: @Observes 
> public void 
> de.orbitx.observerininterface.BasicSchedulerWorkerManager.observerMethod(de.orbitx.observerininterface.SchedulerWorker)
>  neither in the ejb view of ejb BasicSchedulerWorkerManager nor static
>       at 
> org.apache.openejb.cdi.CdiPlugin.validateObserverMethods(CdiPlugin.java:423)
>       at 
> org.apache.openejb.cdi.CdiPlugin.defineSessionBean(CdiPlugin.java:368)
> This happens ONLY if following is true (see attached foobar project):
> - Bean (BasicSchedulerWorkerManager) implements interface 
> (SchedulerWorkerManager);
> - Bean is annotated as @javax.ejb.Singleton;
> - The observer method is not declared in the interface;
> If I remove @Singleton from BasicSchedulerWorkerManager, testcase passes.
> If I declare observerMethod in interface, testcase passes.
> Pay attention that Singleton is from javax.ejb (yes I need ejb singleton!)
> br
> reinis

--
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

Reply via email to