On Jun 4, 2012, at 2:07 AM, Jean-Louis MONTEIRO wrote:

> Not sure how to understand that post content.
> IMO, a @Local annotation (without any interface specified) on the bean
> class is not allowed by the spec.

Exactly right.  On deploy we flagged it and failed the deployment with a clear 
error message saying it was non compliant.

Marco updated his app and not it is far more portable.

Now that I type this it occurs to me the error message in this exact case 
should have recommended using @LocalBean instead.

I filed a JIRA for that one here:

  https://issues.apache.org/jira/browse/OPENEJB-1836

If someone wants to work on that, that'd be a great place to start contributing!

In fact, we have a number of validations we could do that would save user's 
time and prevent runtime bugs.

  https://issues.apache.org/jira/browse/OPENEJB-453

Everything in that list not checked green is up for grabs.

These validations are very easy to write as we have a pretty clean framework 
for implementing them and testing them.  I can't say enough how great of a 
place it is to get started coding and creating something that directly benefits 
other users.

Here is an example of a validation to ensure EJBs using Container-Managed 
Transactions are not also trying to reference UserTransaction.  This is illegal 
per spec.  Trying to compete with the container transaction management by also 
using UserTransaction is going to result in serious issues at runtime, so we 
check for it.

The code to check it is really very tiny:

http://svn.apache.org/repos/asf/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckUserTransactionRefs.java

The test for it as well is also very small:

http://svn.apache.org/repos/asf/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckUserTransactionRefsTest.java

We can thank Karan Malhi for the amazing validation test suite.


-David

Reply via email to