@Target(value={TYPE,FIELD,METHOD}) @Retention(value=RUNTIME) public @interface Resource
Even though this annotation is not marked Inherited, deployment tools are required to examine all superclasses of any component class to discover all uses of this annotation in all superclasses. All such annotation instances specify resources that are needed by the application component. Note that this annotation may appear on private fields and methods of superclasses; the container is required to perform injection in these cases as well.
| Modifier and Type | Optional Element and Description |
|---|---|
Resource |
authenticationType
The authentication type to use for this resource.
|
String |
description
Description of this resource.
|
String |
lookup
The name of the resource that the reference points to.
|
String |
mappedName
A product specific name that this resource should be mapped to.
|
String |
name
The JNDI name of the resource.
|
boolean |
shareable
Indicates whether this resource can be shared between this component and other components.
|
Class |
type
The Java type of the resource.
|
public abstract Stringname
public abstract Stringlookup
public abstract Class<?> type
public abstract Resource.AuthenticationType authenticationType
public abstract boolean shareable
public abstract StringmappedName
name element or defaulted, is a name that is local to the application component using the resource. (It's a name in the JNDI
java:comp/env namespace.) Many application servers provide a way to map these local names to names of resources known to the application server. This mapped name is often a
global JNDI name, but may be a name of any form.
Application servers are not required to support any particular form or type of mapped name, nor the ability to use mapped names. The mapped name is product-dependent and often installation-dependent. No use of a mapped name is portable.
public abstract Stringdescription