alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Tomcat example source code file (globalresources.xml)

This example Tomcat source code file (globalresources.xml) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Tomcat tags/keywords

java, jndi, jndi, license, license, links, resource, resource, resources, see, the, the, this, you

The Tomcat globalresources.xml source code

<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE document [
  <!ENTITY project SYSTEM "project.xml">
]>
<document url="globalresources.html">

  &project;

  <properties>
    <author email="remm@apache.org">Remy Maucherat
    <author email="yoavs@apache.org">Yoav Shapira
    <title>The GlobalNamingResources Component
  </properties>

<body>


<section name="Introduction">

  <p>The GlobalNamingResources element defines the global
  JNDI resources for the <a href="server.html">Server.

<p>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 <a href="../jndi-resources-howto.html">JNDI Resources HOW-TO. The resources defined in this element are <strong>not visible in the per-web-application contexts unless you explicitly link them with <a href="context.html#Resource Links"><ResourceLink> elements. </p> </section> <section name="Attributes"> </section> <section name="Nested Components"> </section> <section name="Special Features"> <subsection name="Environment Entries"> <p>You can configure named values that will be made visible to all web applications as environment entry resources by nesting <code><Environment> entries inside this element. For example, you can create an environment entry like this:</p> <source> <GlobalNamingResources ...> ... <Environment name="maxExemptions" value="10" type="java.lang.Integer" override="false"/> ... </GlobalNamingResources> </source> <p>This is equivalent to the inclusion of the following element in the web application deployment descriptor (<code>/WEB-INF/web.xml): </p> <source> <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> </source> <p>but does not require modification of the deployment descriptor to customize this value.</p> <p>The valid attributes for an <Environment> element are as follows:</p> <attributes> <attribute name="description" required="false"> <p>Optional, human-readable description of this environment entry.

</attribute> <attribute name="name" required="true"> <p>The name of the environment entry to be created, relative to the <code>java:comp/env context.

</attribute> <attribute name="override" required="false"> <p>Set this to false if you do not want an <code><env-entry> for the same environment entry name, found in the web application deployment descriptor, to override the value specified here. By default, overrides are allowed.</p> </attribute> <attribute name="type" required="true"> <p>The fully qualified Java class name expected by the web application for this environment entry. Must be one of the legal values for <code><env-entry-type> in the web application deployment descriptor: <code>java.lang.Boolean, <code>java.lang.Byte, java.lang.Character, <code>java.lang.Double, java.lang.Float, <code>java.lang.Integer, java.lang.Long, <code>java.lang.Short, or java.lang.String.

</attribute> <attribute name="value" required="true"> <p>The parameter value that will be presented to the application when requested from the JNDI context. This value must be convertable to the Java type defined by the <code>type attribute.

</attribute> </attributes> </subsection> <subsection name="Resource Definitions"> <p>You can declare the characteristics of resources to be returned for JNDI lookups of <code><resource-ref> and <code><resource-env-ref> elements in the web application deployment descriptor by defining them in this element and then linking them with <a href="context.html#Resource Links"><ResourceLink> elements in the <code><Context> element. You <strong>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.</p> <p>For example, you can create a resource definition like this:

<source> <GlobalNamingResources ...> ... <Resource name="jdbc/EmployeeDB" auth="Container" type="javax.sql.DataSource" description="Employees Database for HR Applications"/> ... </GlobalNamingResources> </source> <p>This is equivalent to the inclusion of the following element in the web application deployment descriptor (<code>/WEB-INF/web.xml):

<source> <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> </source> <p>but does not require modification of the deployment descriptor to customize this value.</p> <p>The valid attriutes for a <Resource> element are as follows:</p> <attributes> <attribute name="auth" required="false"> <p>Specify whether the web Application code signs on to the corresponding resource manager programatically, or whether the Container will sign on to the resource manager on behalf of the application. The value of this attribute must be <code>Application or Container. This attribute is <strong>required if the web application will use a <code><resource-ref> element in the web application deployment descriptor, but is optional if the application uses a <code><resource-env-ref> instead.

</attribute> <attribute name="description" required="false"> <p>Optional, human-readable description of this resource.

</attribute> <attribute name="name" required="true"> <p>The name of the resource to be created, relative to the <code>java:comp/env context.

</attribute> <attribute name="scope" required="false"> <p>Specify whether connections obtained through this resource manager can be shared. The value of this attribute must be <code>Shareable or Unshareable. By default, connections are assumed to be shareable.</p> </attribute> <attribute name="type" required="true"> <p>The fully qualified Java class name expected by the web application when it performs a lookup for this resource.</p> </attribute> </attributes> </subsection> <subsection name="Resource Links"> <p>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 all applications in the server, based on the example definition in the <a href="../jndi-resources-howto.html#Generic JavaBean Resources"> JNDI Resource HOW-TO</a>: </p> <source> <![CDATA[ <DefaultContext> <ResourceLink name="bean/MyBeanFactory" global="bean/MyBeanFactory" type="com.mycompany.MyBean" /> </DefaultContext> ]]> </source> </subsection> <subsection name="Transaction"> <p>You can declare the characteristics of the UserTransaction to be returned for JNDI lookup for <code>java:comp/UserTransaction. You <strong>MUST define an object factory class to instantiate this object as well as the needed resource parameters as attributes of the <code>Transaction element, and the properties used to configure that object factory.</p> <p>The valid attributes for the <Transaction> element are as follows:</p> <attributes> <attribute name="factory" required="true"> <p>The class name for the JNDI object factory.

</attribute> </attributes> </subsection> </section> </body> </document>

Other Tomcat examples (source code examples)

Here is a short list of links related to this Tomcat globalresources.xml source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.