On Jul 5, 2011, at 12:53 AM, Shawn Jiang wrote:

> Hi David,
> 
> Some of existing geornimo ejb samples that depend on auto local business
> interface grouping  stop to work after this commit.
> 
> 
> *URL: http://svn.apache.org/viewvc?rev=989853&view=rev
> Log:
> 
> Removed automatic grouping of non-annotated interfaces as business local
> interfaces  -- if you want everything you can now use @LocalBean so this is
> less important*
> 
> 
>  I remembered many articles on EJB30 mentioned that  If you don't specify
> an interface (local or remote) in the bean class, the EJB server
> automatically generates a local business interface by default.
> 
> Maybe to keep the local interface automatic grouping is a good idea for
> backward-compatibility purpose ?

It was the TCK that forced this change.  I can't recall the details because it 
was a while ago now.  I did a write-up on it:

  
http://openejb.979440.n4.nabble.com/LocalBean-and-implied-local-interface-change-td2400892.html

I wish I had documented somewhere what the TCK issue was -- better yet I wish I 
had added a test case to document this.  I seem to recall David Jencks brought 
it to my attention when he was implementing Global JNDI and originally the 
first TCK fix involved a "for use by geronimo" flag that turned on different 
interface processing that was even more backward incompatible.

That email above reminds me that there's still one very desirable change to 
make which is somehow improve the EjbResolver to support using interfaces of 
the @LocalBean when doing @EJB resolution; e.g. '@EJB Color colorBean' where 
Color is an interface that is implemented by an @LocalBean.  So even though 
Color isn't technically a business interface we could still make referencing 
that way work.

That might fix the Geronimo examples and provide more backward compatibility.


-David

Reply via email to