geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Blevins <david.blev...@visi.com>
Subject Re: A little help with openejb-jar.xml
Date Fri, 05 Sep 2008 18:05:55 GMT

On Sep 5, 2008, at 7:50 AM, ericp56 wrote:

>
> I have an EJB that is successfully injected into my web service  
> application:
>
> package com.abc.ivr.scheduler;
> @Stateless
> public class CallScheduler implements ICallScheduler
>
>
> it contains an EJB annotation for another EJB:
>
> @EJB
> private SysErrorEmail sysErrorEmail;
>
>
> This ejb is in the same application in a different package:
>
> package com.abc.ivr.common;
> @Stateless
> public final class SysErrorEmail implements ISysErrorEmail

There should be a warning prior to this that says the reference was  
not resolved.

You just need to update your ref from pointing at the bean class

   @EJB
   private SysErrorEmail sysErrorEmail;

To instead point at the business interface like so:

   @EJB
   private ISysErrorEmail sysErrorEmail;

In EJB 3.1 you will be able to refer to beans using the bean class  
itself, but in EJB 3.0 you must use a business interface.

We could definitely add a validation check to see if any refs didn't  
resolve for this reason and warn more explicitly about the mistake.

Note, with the above change you shouldn't need any openejb-jar.xml  
descriptor data, the annotation data will be enough for us to find the  
bean with the ISysErrorEmail interface.

-David


Mime
View raw message