users@javaee-spec.java.net

[javaee-spec users] [jsr366-experts] Re: class-level resource annotations

From: Florent BENOIT <Florent.Benoit_at_ow2.org>
Date: Tue, 9 Dec 2014 09:49:51 +0100

Hi Bill,

For Java EE implementors:
        B. Any class that also supports injection (table EE-5.1).

For everyone:
B or classes of C (no lib)
When embedding external libraries it may look strange to get new
resources (without tuning metadata-complete flag)

Regards,

Florent

On Tue, Dec 9, 2014 at 12:25 AM, Bill Shannon <bill.shannon_at_oracle.com> wrote:
> I'd like to clarify some of the requirements around resource annotations.
>
> There's two kinds of resource annotations that can be applied to a class:
>
> 1. Resource reference annotations such as @Resource. This is probably
> rarely used (as opposed to injection), but can be useful in cases where
> dynamic lookup of the resource is required.
>
> @Resource(name = "myDS", lookup = "java:app/application-database")
> public class Something {
> public void someMethod() {
> ...
> InitialContext ic = new InitialContext();
> DataSource ds = (DataSource)ic.lookup("myDS");
> }
> }
>
> 2. Resource definition annotations such as @DataSourceDefinition.
>
> @DataSourceDefinition(
> name = "java:app/applicaiton-database",
> className="org.apache.derby.jdbc.ClientDataSource",
> url="jdbc:derby://localhost:1527/myDB;user=bill",
> databaseName="testDB",
> serverName="luckydog"
> )
> public class SomeOtherClass {
> ...
> }
>
> I have some questions that I'd like each of you to answer:
>
> For Java EE implementors:
>
> In your implementation, what classes may contain each of these
> types of annotations?
>
> A. A limited set of container-managed classes.
> B. Any class that also supports injection (table EE-5.1).
> C. Any class in the application package (ear/war/jar file).
> D. Any class in the application package or referenced as an
> external library.
> E. Other. (Explain)
>
>
> For Java EE developers:
>
> What classes do you expect may contain each of these types of annotations?
>
> A. A limited set of container-managed classes.
> B. Any class that also supports injection (table EE-5.1).
> C. Any class in the application package (ear/war/jar file).
> D. Any class in the application package or referenced as an
> external library.
> E. Other. (Explain)
>
>
>
> For everyone:
>
> What classes do you think the Java EE 7 spec requires must be able
> to contain each of these types of annotations?
>
> A. A limited set of container-managed classes.
> B. Any class that also supports injection (table EE-5.1).
> C. Any class in the application package (ear/war/jar file).
> D. Any class in the application package or referenced as an
> external library.
> E. Other. (Explain)
> F. I don't know.
>
>
> Thanks.