persistence@glassfish.java.net

Re: Idea for optimistic concurrency extension

From: Bill Shannon <bill.shannon_at_sun.com>
Date: Sat, 12 Aug 2006 20:20:08 -0700

Wonseok Kim wrote:
> Hi, Sahoo
> Thanks for informing me. It's good to know that unknown annotations are
> ignored.
> But I'm not sure that unknown annotations can be ignored at compile
> time. If there is any compiler option to ignore unknown annotations, it
> would be better.

That's a problem that we still don't know how to solve, although everyone
would like a solution.

> Anyway I worried too much :-)
> Now I agree that vendor-specific annotations is good choice for
> configurations and advanced features.

It's good that vendor-specific annotations can be ignored at runtime.
Still, if we introduce vendor-specific annotations, we need to make it
clear that they are not portable.

Vendor-specific annotations for otherwise portable concepts might be a
good way to prototype annotations that we would want to add to a future
version of the spec.

Vendor-specific annotations for vendor-specific features fall into two
categories:

- features that can be safely ignored on other products
- features that can't be ignored on other products because the application
   won't function correctly without use of the feature.

I wish we had the "ignore at compile time" option for the first kind.

The second kind needs very clear documentation so that people understand
they're depending on a non-portable feature. As long as we have clear
documentation, I don't have any problem adding such annotations.