The GlobalNamingResources Component
Table of Contents
Introduction
The GlobalNamingResources element defines the global JNDI resources for the Server.
These resources are listed in the server's global JNDI resource context. This context is distinct from the per-web-application JNDI contexts described in the JNDI Resources How-To. The resources defined in this element are not visible in the per-web-application contexts unless you explicitly link them with <ResourceLink> elements.
Attributes
Nested Components
Special Features
Environment Entries
You can configure named values that will be made visible to all
    web applications as environment entry resources by nesting
    <Environment> entries inside this element. For
    example, you can create an environment entry like this:
<GlobalNamingResources ...>
  ...
  <Environment name="maxExemptions" value="10"
         type="java.lang.Integer" override="false"/>
  ...
</GlobalNamingResources>This is equivalent to the inclusion of the following element in the
    web application deployment descriptor (/WEB-INF/web.xml):
    
<env-entry>
  <env-entry-name>maxExemptions</env-entry-name>
  <env-entry-value>10</env-entry-value>
  <env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>but does not require modification of the deployment descriptor to customize this value.
The valid attributes for an <Environment> element
    are as follows:
| Attribute | Description | 
|---|---|
| description | Optional, human-readable description of this environment entry. | 
| name | The name of the environment entry to be created, relative to the
         | 
| override | Set this to  | 
| type | The fully qualified Java class name expected by the web application
        for this environment entry.  Must be a legal value for
         | 
| value | The parameter value that will be presented to the application
        when requested from the JNDI context.  This value must be convertible
        to the Java type defined by the  | 
Resource Definitions
You can declare the characteristics of resources
    to be returned for JNDI lookups of <resource-ref> and
    <resource-env-ref> elements in the web application
    deployment descriptor by defining them in this element and then linking
    them with <ResourceLink>
    elements
    in the <Context> element.
    You MUST also define any other needed parameters using
    attributes on the Resource element, to configure
    the object factory to be used (if not known to Tomcat already), and
    the properties used to configure that object factory.
For example, you can create a resource definition like this:
<GlobalNamingResources ...>
  ...
  <Resource name="jdbc/EmployeeDB" auth="Container"
            type="javax.sql.DataSource"
     description="Employees Database for HR Applications"/>
  ...
</GlobalNamingResources>This is equivalent to the inclusion of the following element in the
    web application deployment descriptor (/WEB-INF/web.xml):
<resource-ref>
  <description>Employees Database for HR Applications</description>
  <res-ref-name>jdbc/EmployeeDB</res-ref-name>
  <res-ref-type>javax.sql.DataSource</res-ref-type>
  <res-auth>Container</res-auth>
</resource-ref>but does not require modification of the deployment descriptor to customize this value.
The valid attributes for a <Resource> element
    are as follows:
| Attribute | Description | 
|---|---|
| auth | Specify whether the web Application code signs on to the
        corresponding resource manager programmatically, or whether the
        Container will sign on to the resource manager on behalf of the
        application.  The value of this attribute must be
         | 
| closeMethod | Name of the zero-argument method to call on a singleton resource when
        it is no longer required. This is intended to speed up clean-up of
        resources that would otherwise happen as part of garbage collection.
        This attribute is ignored if the  For Apache Commons DBCP 2 and Apache Tomcat JDBC connection pools
        you can use  | 
| description | Optional, human-readable description of this resource. | 
| name | The name of the resource to be created, relative to the
         | 
| scope | Specify whether connections obtained through this resource
        manager can be shared.  The value of this attribute must be
         | 
| singleton | Specify whether this resource definition is for a singleton resource,
        i.e. one where there is only a single instance of the resource. If this
        attribute is  | 
| type | The fully qualified Java class name expected by the web application when it performs a lookup for this resource. | 
Resource Links
Use <ResourceLink>
    elements to link resources from the global context into
    per-web-application contexts. Here is an example of making a custom
    factory available to an application, based on the example definition in the
    
    JNDI Resource How-To:
    
<Context>
  <ResourceLink
    name="bean/MyBeanFactory"
    global="bean/MyBeanFactory"
    type="com.mycompany.MyBean"
  />
</Context>Transaction
You can declare the characteristics of the UserTransaction
    to be returned for JNDI lookup for java:comp/UserTransaction.
    You MUST define an object factory class to instantiate
    this object as well as the needed resource parameters as attributes of the
    Transaction
    element, and the properties used to configure that object factory.
The valid attributes for the <Transaction> element
    are as follows:
| Attribute | Description | 
|---|---|
| factory | The class name for the JNDI object factory. | 
