jsr366-experts@javaee-spec.java.net

[jsr366-experts] Re: class-level resource annotations

From: Jeff Genender <jgenender_at_savoirtech.com>
Date: Fri, 23 Jan 2015 16:32:48 -0700

Sorry for my delay… answers in line…

> On Jan 23, 2015, at 12:51 PM, Bill Shannon <bill.shannon_at_oracle.com> wrote:
>
> We only got one response to this message. Many of you probably never got
> back to this after the holidays, but now's the time. If we don't hear from
> you we'll assume your position is "we trust you, Oracle, to do what's best".
>
> But really, we'd rather hear from you directly.
>
> Thanks.
>
> Bill Shannon wrote on 12/08/14 15:25:
>> 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)
>>
>>

All of the above? ;-)

I like D. It would be the most flexible.


>> 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)
>>
>>

D

>>
>> 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.
>>

D

Thanks,

Jeff

>>
>> Thanks.
>