@Target(value={TYPE,FIELD,METHOD}) @Retention(value=RUNTIME) @Repeatable(value=Resources.class) public @interface Resource
Resource annotation marks a resource that is needed
 by the application.  This annotation may be applied to an
 application component class, or to fields or methods of the
 component class.  When the annotation is applied to a
 field or method, the container will inject an instance
 of the requested resource into the application component
 when the component is initialized.  If the annotation is
 applied to the component class, the annotation declares a
 resource that the application will look up at runtime. 
 
 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 | authenticationTypeThe authentication type to use for this resource. | 
| String | descriptionDescription of this resource. | 
| String | lookupThe name of the resource that the reference points to. | 
| String | mappedNameA product-specific name that this resource should be mapped to. | 
| String | nameThe JNDI name of the resource. | 
| boolean | shareableIndicates whether this resource can be shared between
 this component and other components. | 
| Class<?> | typeThe Java type of the resource. | 
public abstract String name
public abstract String lookup
public abstract Class<?> type
public abstract Resource.AuthenticationType authenticationType
public abstract boolean shareable
public abstract String mappedName
mappedName element provides for mapping the
 resource reference to the name of a resource known to the
 applicaiton server.  The mapped name could be 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 String description
Copyright © 2018 GlassFish Community. All Rights Reserved.