Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Jetty/Reference/jetty-env.xml"

m
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Jetty Reference
 
{{Jetty Reference
| introduction = <tt>jetty-env.xml</tt> is an optional Jetty configuration file that you can place in your webapp's WEB-INF directory to configure JNDI resources specifically for that webapp. The format of <tt>jetty-web.xml</tt> is the same as <tt>[[Jetty/Reference/jetty.xml|jetty.xml]]</tt> -- it is an XML mapping of the Jetty API.
+
| introduction = <tt>jetty-env.xml</tt> is an optional Jetty file that configures JNDI resources for an individual webapp. The format of <tt>jetty-web.xml</tt> is the same as <tt>[[Jetty/Reference/jetty.xml|jetty.xml]]</tt>–it is an XML mapping of the Jetty API.
  
 
| body =  
 
| body =  
When Jetty deploys a web application, it automatically looks for a file called <tt>WEB-INF/jetty-env.xml</tt> within the web application (or WAR), and sets up the webapp naming environment so that naming references in the <tt>WEB-INF/web.xml</tt> file can be resolved from the information provided in the <tt>WEB-INF/jetty-env.xml</tt> and [[Jetty/Reference/jetty.xml|jetty.xml]] files.  
+
When Jetty deploys a web application, it automatically looks for a file called <tt>WEB-INF/jetty-env.xml</tt> within the web application (or WAR), and sets up the webapp naming environment so that naming references in the <tt>WEB-INF/web.xml</tt> file can be resolved from the information provided in the <tt>WEB-INF/jetty-env.xml</tt> and [[Jetty/Reference/jetty.xml|jetty.xml]] files. You define global naming resources on the server via <tt>jetty.xml</tt>.
note|You define global naming resources on the server via <tt>jetty.xml</tt>.
+
  
 
== Root Element ==
 
== Root Element ==
Line 17: Line 16:
 
</source>
 
</source>
  
{{caution|Make sure you are applying the configuration to an instance of the proper class|<tt>jetty-env.xml</tt> configures an instance of WebAppContext, and not an instance of Server}}
+
{{caution|Make sure you are applying the configuration to an instance of the proper class.|<tt>jetty-env.xml</tt> configures an instance of WebAppContext, and not an instance of Server.}}
  
 
== Using <tt>jetty-env.xml</tt> ==
 
== Using <tt>jetty-env.xml</tt> ==
Line 60: Line 59:
 
</source>
 
</source>
 
| more =  
 
| more =  
* [[Jetty/Reference/jetty.xml syntax|jetty.xml Syntax Reference]] - in-depth reference for Jetty-specific configuration XML syntax
+
* [[Jetty/Reference/jetty.xml syntax|jetty.xml Syntax Reference]]–in-depth reference for Jetty-specific configuration XML syntax
* [[Jetty/Reference/jetty.xml|jetty.xml]] - configuration file for configuring the entire server
+
* [[Jetty/Reference/jetty.xml|jetty.xml]]–configuration file for configuring the entire server
 
}}
 
}}

Latest revision as of 14:49, 20 August 2010



Introduction

jetty-env.xml is an optional Jetty file that configures JNDI resources for an individual webapp. The format of jetty-web.xml is the same as jetty.xml–it is an XML mapping of the Jetty API.

When Jetty deploys a web application, it automatically looks for a file called WEB-INF/jetty-env.xml within the web application (or WAR), and sets up the webapp naming environment so that naming references in the WEB-INF/web.xml file can be resolved from the information provided in the WEB-INF/jetty-env.xml and jetty.xml files. You define global naming resources on the server via jetty.xml.

Root Element

Jetty applies jetty-env.xml on a per-webapp basis, and configures an instance of org.eclipse.jetty.webapp.WebAppContext.

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
 
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
 ..
</Configure>
Stop.png
Make sure you are applying the configuration to an instance of the proper class.
jetty-env.xml configures an instance of WebAppContext, and not an instance of Server.


Using jetty-env.xml

Place the jetty-env.xml file in your web application's WEB-INF folder.

Example

 <?xml version="1.0"?>
 <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
 
 <Configure class="org.eclipse.jetty.webapp.WebAppContext">
 
   <!-- Add an EnvEntry only valid for this webapp               -->
   <New id="gargle"  class="org.eclipse.jetty.plus.jndi.EnvEntry">
     <Arg>gargle</Arg>
     <Arg type="java.lang.Double">100</Arg>
     <Arg type="boolean">true</Arg>
   </New>
 
  <!-- Add an override for a global EnvEntry                           -->
   <New id="wiggle"  class="org.eclipse.jetty.plus.jndi.EnvEntry">
     <Arg>wiggle</Arg>
     <Arg type="java.lang.Double">55.0</Arg>
     <Arg type="boolean">true</Arg>
   </New>
 
   <!-- an XADataSource                                                -->
   <New id="mydatasource99" class="org.eclipse.jetty.plus.jndi.Resource">
     <Arg>jdbc/mydatasource99</Arg>
     <Arg>
       <New class="com.atomikos.jdbc.SimpleDataSourceBean">
         <Set name="xaDataSourceClassName">org.apache.derby.jdbc.EmbeddedXADataSource</Set>
         <Set name="xaDataSourceProperties">databaseName=testdb99;createDatabase=create</Set>
         <Set name="UniqueResourceName">mydatasource99</Set>
       </New>
     </Arg>
   </New>
 
 </Configure>

Additional Resources

Back to the top