Skip Headers
Oracle® Containers for J2EE Configuration and Administration Guide
10g Release 3 (10.1.3)
Part No. B14432-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

B Configuration Files Used in OC4J

This chapter provides detailed documentation on the XML files used to store configuration data for the OC4J server and J2EE applications and modules deployed into it.

Overview of the XML Configuration Files Used by OC4J

The configuration data for an OC4J server instance and the applications and modules deployed into it is persisted in a number of XML files. Figure B-1 provides an overview of these XML files and their respective roles.

Note that schemas defining the Oracle-proprietary XML files used by OC4J can be viewed at the following link:

http://www.oracle.com/technology/oracleas/schema/index.html

Figure B-1 XML Files Used By OC4J

Description of jicon001.gif follows
Description of the illustration jicon001.gif

Table B-1 describes the role and function for each OC4J server-level XML file as well as the global configuration files displayed in the preceding figure.

Unless otherwise indicated, all of these files are installed in the ORACLE_HOME/j2ee/home/config directory by default.

Table B-1 Server-Level and Global Configuration Files

XML Configuration File Features/Components
server.xml The OC4J server configuration file.

Configures the server and points to the XML files that add to this file, such as jms.xml for JMS support. The listing of other XML files enables the services to be configured in separate files, but the server.xml file denotes that they be used for the OC4J configuration.

data-sources.xml Contains the OC4J data source configuration for all databases used by applications within OC4J.
rmi.xml Contains OC4J RMI port configuration and RMI tunneling over HTTP.
jms.xml Contains the OC4J JMS configuration for Destination topics and queues that are used by JMS and MDBs in OC4J.
system-application.xml Contains the configuration for the system application, which is the parent of all other applications installed in the OC4J instance. The file provides configuration data used at OC4J startup, such as data needed to load required shared libraries.
application.xml Contains the configuration for the default application. All user-deployed applications and standalone modules that do not have a designated parent are deployed to this application by default.

This file includes common settings that serve as default configuration values applied to deployed applications.

Note that this file is completely unrelated to application.xml, the J2EE standard deployment descriptor.

global-web-application.xml An Oracle-specific file for configuring the servlet and JSP containers within OC4J.
oc4j-connectors.xml Contains global OC4J-specific configuration data for all standalone resource adapters installed in the OC4J instance.
*-web-site.xml An OC4J-specific file that contains configuration data for a Web site created within the OC4J instance. It is typically installed in the ORACLE_HOME/j2ee/home/config directory, but may be installed in a different location.

The configuration for the default Web site created within each OC4J instance is defined in default-web-site.xml.


Table B-2 describes the role and function for the various application-level XML files displayed in the preceding figure.

Unless otherwise indicated, all of these files are installed in the ORACLE_HOME/j2ee/home/config directory by default.

Table B-2 Application-Level Configuration Files

XML Configuration File Features/Components
application.xml The J2EE application standard J2EE application descriptor file. The local application.xml file defines the J2EE EAR file, which contains the J2EE application modules. This file exists within the J2EE application EAR file.
orion-application.xml The OC4J-specific deployment descriptor, which contains configuration data for a specific deployed application.
web.xml The J2EE Web application deployment descriptor, used to define the Web application deployment parameters that are included in the WAR file.

In addition, you can specify the URL pattern for servlets and JSPs in this file. For example, a servlet is defined in the <servlet> element, and its URL pattern is defined in the <servlet-mapping> element.

orion-web.xml Extends the standard J2EE descriptor with application-level OC4J-specific configuration data, such as whether or not OC4J features like developer mode or auto-reload of JSPs are enabled.
ejb-jar.xml The J2EE EJB module deployment descriptor, included in the EJB JAR file. Defines the specific structural characteristics and dependencies of the Enterprise JavaBeans within a JAR, and provides instructions for the EJB container about how the beans expect to interact with the container.
orion-ejb-jar.xml The OC4J-specific deployment descriptor. Defines OC4J-specific configuration data for all EJBs within an archive, including EJB pool settings, time-out and retry settings, JNDI mappings and finder method specifications. Also includes properties for the TopLink persistence manager.
application-client.xml The J2EE application client configuration file. Describes the EJB modules and other resources used by a J2EE application client packaged in an archive.
orion-application-client.xml Contains OC4J deployment data, including JNDI mappings to an EJB's home interface or to external resources such as a data source, JMS queue or mail session.
ra.xml The J2EE standard deployment descriptor. Contains information on implementation code, configuration properties and security settings for a resource adapter packaged within a RAR file.
oc4j-ra.xml Contains OC4J-specific deployment configuration data for a single resource adapter. This data includes EIS connection information, JNDI name to be used, connection pooling parameters, and resource principal mappings.
webservices.xml The J2EE standard Web services deployment descriptor. Describes a Web service, including WSDL information and JAX-RPC mapping data, for a Web Service application packaged within a WAR file.
oracle-webservices.xml Defines properties used by the OC4J Web services container, such as whether to expose the WSDL file. It also defines endpoint addresses and data specific to EJBs implemented as Web services. The file can be packaged in either a WAR or an EJB JAR containing a Web service.

Overview of the OC4J Server Configuration File (server.xml)

The OC4J configuration file, server.xml, is located in the ORACLE_HOME/j2ee/home/config directory. It is the starting point for configuration of the OC4J server and all J2EE applications, Web applications and Web sites enabled within the server.

Unless specifically instructed to do so in the OC4J documentation, you should not have to edit server.xml manually, as notations are added and updated as needed by OC4J.

The server.xml file includes references to the application descriptor of each application within the OC4J instance, either directly or indirectly. In the case of a typical J2EE application, this reference points to the extracted EAR top-level directory and, therefore, to the application.xml file that the EAR file contains. In the case of the OC4J global application, the server.xml file points directly to the OC4J global application descriptor.

The server.xml file also points to other XML configuration files. For each XML file, the location can be the full path or a path relative to the location of where the server.xml file exists. In addition, the name of the XML file can be any name, as long as the contents of the file conform to the appropriate DTD.

The server.xml file format is described by application-server-10_1.xsd, which can be viewed at the following link:

http://www.oracle.com/technology/oracleas/schema/index.html

Example of a server.xml File

Below is an example server.xml, with <!-- comments --> to describe the various sections:

<application-server  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/
  application-server-10_1.xsd"  application-directory="../applications"
  deployment-directory="../application-deployments"
  connector-directory="../connectors"
  schema-major-version="10" schema-minor-version="0" >
  <!-- Shared library definitions -->
	  <shared-library name="global.libraries" version="1.0" library-compatible="true">
    <code-source path="../applib"/>
		    <code-source path="../../../sqlj/lib"/>
		    <code-source path="../../../lib/dsv2.jar"/>
	  </shared-library>
	  <shared-library name="global.tag.libraries" version="1.0"
   library-compatible="true">
		    <code-source path="../jsp/lib/taglib/standard.jar"/>
	  </shared-library>
	  <!-- J2EE services -->
  <rmi-config path="./rmi.xml" />
	  <sep-config path="./internal-settings.xml" />
	  <jms-config path="./jms.xml" />
	  <javacache-config path="../../../javacache/admin/javacache.xml" />
  <!-- Logging -->
  	<j2ee-logging-config path="./j2ee-logging.xml" />
	  <log>    		<file path="../log/server.log" />
	  </log>
	  <java-compiler name="javac" in-process="false" encoding="ISO8859_1"
   extdirs="c:\sdk\jdk\jre\lib\ext" />
  <!--  Default application configuration -->
  	<global-application name="default" path="application.xml" />
  <!-- Deployed application configuration -->
	  <application name="petstore" path="../applications\petstore.ear" start="true" />
  	<application name="ascontrol" path="../applications\ascontrol.ear" 
   start="true" />
  <!-- Default Web application configuration file -->
  	<global-web-app-config path="global-web-application.xml" />
  <!-- Transaction Manager configuration file -->
	  <transaction-manager-config path="transaction-manager.xml" />
  <!-- Configuration files for enabled Web sites -->
  	<web-site path="./default-web-site.xml" />
</application-server>

<application-server>

Required? Required; one only

Child elements: 

This is the root element of the OC4J configuration file.

Table B-3 <application-server> Attributes

Name Description
application-directory Values: string Default: ../applications

The target directory for deployed archives.

application-auto- deploy-directory Values: string Default: n/a

The directory into which EAR files can be copied, triggering automatic deployment/redeployment of the application.

connector-directory Values: string Default: ../connectors

The target directory for standalone resource adapters.

deployment-directory Values: string Default: ../application-deployments

The directory containing the OC4J-specific deployment descriptors and generated files, such as compiled JSP classes and EJB wrapper classes.

check-for-updates Values: all|adminClientOnly|noneDefault: adminClientOnly

Enables OC4J polling, which automatically checks for changes made to currently deployed applications and modules, and redeploys any components that have been modified.

See the Oracle Containers for J2EE Deployment Guide for an explanation of supported values and the impact of each.

localhostIsAdmin Values: Boolean Default: true

If true, allows easier access if the process initiating the administrative operation is a process local to the OC4J host machine.

taskmanager-granularity Values: int Default: 1000

The interval at which the task manager performs its duties, specified in milliseconds. The default is every second (1000 milliseconds).


<application>

Parent element: <application-server>

Required? Optional; multiple allowed

Child elements: 

Defines a J2EE application deployed into the OC4J instance. The <application> element defining an application is added to server.xml by OC4J at the time the application is deployed. As such, there is generally no need to manually modify this element.

Table B-4 <application> Attributes

Name Description
name Values: string Default: n/a

The application name; typically the same as the EAR file name without the .ear extension.

path Values: string Default: n/a

The location of the EAR file or the extracted EAR top-level directory. As such, the path indirectly points to the J2EE standard application.xml descriptor packaged with the application.

start Values: Boolean Default: true

If true, the application is started with OC4J and is available to serve requests or for configuration through JMX MBeans. If false, the application is not started with OC4J, meaning it is not available to serve requests. However, it is available for configuration through JMX.


<code-source>

Parent element: <shared-library>

Required? Required; multiple allowed

Specifies the path to a JAR or ZIP file included in the shared library definition.

Table B-5 <code-source> Attributes

Name Description
path Values: string Default: n/a

The path to a JAR or ZIP file included in a shared library.

Paths may be absolute if outside of the /shared-lib directory, or can be relative to the subdirectory containing the JAR files within the /shared-lib/library_name directory. If relative, only the archive file name needs to be supplied as the value of the path attribute.

You can optionally set path="*" to force OC4J to consume all of the archives within the shared library subdirectory.


<execution-order>

Parent element: startup-class, shutdown-class

Required? Optional; one only

Child elements: 

Specifies the order of execution for each startup class. Specify an integer that designates the order in which the classes are executed.

<global-application>

Parent element: <application-server>

Required? Required; one only

Child elements: 

Specifies the OC4J global application, known as the default application. The name attribute defines its name; the path attribute specifies what to use as the OC4J global application descriptor.

Table B-6 <global-application> Attributes

Name Description
name Values: string Default: default

The global application name.

path Values: string Default: application.xml

The filename and path for the global application descriptor file. The default descriptor is ORACLE_HOME/j2ee/home/config/application.xml.


<global-thread-pool>

Parent element: <application-server>

Required? Required; one only

Child elements: 

Contains the configuration for a single thread pool within the OC4J process. See "Using Thread Pools" for details. Note that the cx-* attributes are used to configure the second thread pool if two pools are being created.

Table B-7 <global-thread-pool> Attributes

Name Description
min Values: string Default: n/a

The minimum number of threads that OC4J can simultaneously execute.

max Values: string Default: n/a

The maximum number of threads that OC4J can simultaneously execute.

queue Values: string Default: n/a

The maximum number of requests that can be kept in the queue.

keep-alive Values: string Default: n/a

The length of time, in milliseconds, to keep a thread alive (idle) while waiting for a new request. This timeout designates how long an idle thread remains alive. If the timeout is reached, the thread is destroyed.

cx-max Values: string Default: n/a

The minimum number of connection threads that OC4J can simultaneously execute in the second pool.

cx-min Values: string Default: n/a

The maximum number of connection threads that OC4J can simultaneously execute in the second pool.

cx-queue Values: string Default: n/a

The maximum number of requests that can be kept in the queue in the second pool.


<global-web-app-config>

Parent element: <application-server>

Required? Required; one only

Child elements: 

Identifies the configuration file for the OC4J global web application, which by default is the parent of all other Web applications.

The name and root directory path of the default Web application are specified in the global application descriptor, and the default Web application is bound to a Web site through the default-web-site.xml file. In OC4J standalone, the default context path for the default Web application is "/".

Table B-8 <global-web-app-config> Attributes

Name Description
path Values: string Default: global-web-application.xml

The filename and path of the global Web application descriptor file. The default descriptor is ORACLE_HOME/j2ee/home/config/global-web-application.xml.


<import-shared-library>

Parent element: <shared-library>

Required? Optional; multiple allowed

Identifies a shared library to be imported by a shared library defined in the enclosing <shared-library> element. For additional information on configuring and using shared libraries, see the Oracle Containers for J2EE Developer's Guide.

Table B-9 <import-shared-library> Attributes

Name Description
name Values: string Default: required

The name of the shared library to import.

version Values: string Default: required

The version number to import.


<init-param>

Parent element: <startup-class>, <shutdown-class>

Required? Optional; multiple allowed

Child elements: <param-name>, <param-value>

Specifies initialization parameters within a <startup-class> or <shutdown-class> element. Contains key-value pairs, of type String, which OC4J takes, which are provided within the input Hashtable argument. The names for the key-value pairs must be unique, as JNDI is used to bind each value to its name.

Table B-10 <init-param> Attributes

Name Description
path Values: string Default: global-web-application.xml

The filename and path of the global Web application descriptor file. The default descriptor is ORACLE_HOME/j2ee/home/config/global-web-application.xml.


<j2ee-logging-config>

Parent element: <application-server>

Required? Optional; only one allowed

Child elements: 

Defines the file to use as the J2EE logging configuration file.

Table B-11 <j2ee-logging-config> Attributes

Name Description
path Values: string Default: ./j2ee-logging.xml

The filename and path of the logger configuration file.


<java-compiler>

Parent element: <application-server>

Required? Optional; one only

Child elements: 

Specifies configuration parameters for the Java compiler to use to compile EJBs. By default, the javac compiler installed with the JDK defined in the JAVA_HOME environment variable will be used.

Table B-12 <java-compiler> Attributes

Name Description
name Values: string Default: modern|classic|javac|ojc|jikes

The name of the Java compiler to use.

in-process Values: Boolean Default: false

Specifies whether to run the compiler in-process or out-of-process.

If set to false, a separate JVM process is spawned for the compiler to execute within. This is the default compiler execution mode used by OC4J, as it offers better management of memory resources.

If set to true, the compiler executes within the same JVM process as OC4J.

encoding Values: string Default: ISO-8859-1

The source file encoding to use.

bindir Values: string Default: n/a

The absolute path to the directory containing the compiler executable. This attribute does not need to be specified to use the default javac compiler.

extdir Values: string Default: n/a

The compiler extension library location, if applicable.

debug Values: Boolean Default: false

Set to true to generate compilation-time debugging output.


<javacache-config>

Parent element: <application-server>

Required? Optional; only one allowed

Child elements: None

Specifies the path to javacache.xml, the Java Object Cache configuration file.

Table B-13 <javacache-config> Attributes

Name Description
path Values: string Default: ../../../javacache/admin/javacache.xml

The path to the javacache.xml file.


<jms-config>

Parent element: <application-server>

Required? Optional; only one allowed

Child elements: 

Specifies the file to use as the OC4J JMS configuration file.

Table B-14 <jms-config> Attributes

Name Description
path Values: string Default: jms.xml

The filename and path of the OC4J JMS configuration file.


<log>

Parent element: <application-server>

Required? Optional; only one allowed

Child elements: <file>

The enclosed <file> element points to the location of the OC4J server log file.

<rmi-config>

Parent element: <application-server>

Required? Optional; only one allowed

Child elements: 

Defines the file to use as the OC4J RMI configuration file.

Table B-15 <rmi-config> Attributes

Name Description
path Values: string Default: rmi.xml

The filename and path of the OC4J RMI configuration file.


<shared-library>

Parent element: <application-server>

Required? Optional; multiple allowed

Child elements: <code-source>, <import-shared-library>

Declares a shared library installed within the OC4J instance. For additional information on configuring and using shared libraries, see the Oracle Containers for J2EE Developer's Guide.

Table B-16 <shared-library> Attributes

Name Description
name Values: string Default: required

The name of the shared library directory created within the /shared-lib directory.

version Values: string Default: required

The version number that serves as the name of the subdirectory containing the shared library's archive files in the /shared-lib/library_name directory.

library-compatible Values: Boolean Default: false

This attribute is intended for internal use only.


<shutdown-class>

Parent element: shutdown-classes

Required? Optional; multiple allowed

Child elements: execution-order, init-param

Defines a shutdown class to execute before OC4J terminates within the <startup-classes> element.

Table B-17 <shutdown-class> Attributes

Name Description
classname Values: string Default: required

The name of the class that implements the oracle.j2ee.server.OC4JShutdown interface.


<startup-class>

Parent element: startup-classes

Required? Optional; multiple allowed

Child elements: execution-order, init-param

Defines a startup class to execute on OC4J initialization within the <startup-classes> element.

Table B-18 <startup-class> Attributes

Name Description
classname Values: string Default: required

The name of the class that implements the oracle.j2ee.server.OC4JStartup interface.

failure-is-fatal Values: Boolean Default: false

If true, OC4J logs an exception and exits when an exception is thrown. If false, OC4J logs the exception and continues.


<transaction-manager-config>

Parent element: <application-server>

Required? Optional; only one allowed

Child elements: 

Specifies the transaction manager configuration file.

Table B-19 <transaction-manager-config> Attributes

Name Description
path Values: string Default: transaction-manager.xml

The filename and path of the transaction manager configuration file. The default file is ORACLE_HOME/j2ee/home/config/transaction-manager.xml.


<web-site>

Parent element: <application-server>

Required? Optional; multiple allowed

Child elements: 

References the configuration file for a single Web site defined within OC4J. A <web-site> element must be created for each Web site; otherwise, the site will not be enabled within OC4J. See Chapter 13, "Managing Web Sites in OC4J" for details.

Table B-20 <web-site> Attributes

Name Description
path Values: string Default: n/a

The filename and path of the *-web-site.xml configuration file defining the Web site.


Overview of the Web Site Configuration Files (*-web-site.xml)

The element descriptions in this section apply to any OC4J Web site configuration file, including default-web-site.xml.

<web-site>

Required? Required; one only

Child elements: 

<description>
<frontend>
<web-app>
<default-web-app>
<user-web-apps>
<access-log>
<odl-access-log>
<ssl-config>

This is the root element for a Web site configuration file.

Table B-21 Web Site Configuration File Attributes

Name Description
display-name Values: string Default: n/a

Optionally defines a user-friendly or informal Web site name.

host Values: string Default: n/a

Specifies the host for this Web site, as either a DNS host name or an IP address. If a server is a "multi-home" machine (having multiple IP addresses), you can use the "[ALL]" setting to listen to all IP addresses.

log-request-info Values: Boolean Default: false

Specifies whether to write information about the incoming request into the Web site log if an error occurs. The Web site log is enabled through either the <access-log> or <odl-access-log> element, described later in this section. ("Enabling/Disabling Access Logging for a Web Module/Application" provides additional information about enabling the Web site log.)

max-request-size Values: string Default: 15000

Sets a maximum size, in bytes, for incoming HTTP requests. If a client sends a request that exceeds this maximum, it will receive a "request entity too large" error. The default maximum is 15000.

secure Values: Boolean Default: false

Specifies whether to support Secure Socket Layer (SSL) functionality.

For a protocol setting of "ajp13" (used in an Oracle Application Server environment), a "true" setting results in secure AJP protocol between Oracle HTTP Server and OC4J. For a protocol setting of "http" (used in OC4J standalone), a "true" setting results in HTTPS protocol between the client and OC4J.

Also note that a secure="true" setting requires that you use the <ssl-config> element (a subelement under the <web-site> element) to specify the keystore path and password. This element is documented later in this section.

SSL and HTTPS features are also available through Oracle HTTP Server for communication between Oracle HTTP Server and the client. For information, see Oracle Application Server Security Guide.

protocol Values: string Default: n/a

Specifies the protocol that the Web site is using. Possible values are "http" and "ajp13" (for AJP, the default). In a production environment with Oracle Application Server, you should use only the "ajp13" setting. The AJP protocol is for use with Oracle HTTP Server and mod_oc4j. Note that each protocol must have a corresponding port, and each port must have a corresponding protocol.

The "http" setting is for OC4J standalone.

To use either an "ajp13" or "http" setting in secure mode (SSL), you must set the secure flag to "true" and use the <ssl-config> subelement to specify the keystore path and password. This element is documented later in this section.

port Values: string Default: n/a

Specifies the port number for this Web site. Each port must have a corresponding protocol, and each protocol must have a corresponding port. In OC4J standalone, a port setting of 8888 is used by default for direct access to the OC4J listener, but you can change this as desired.

In an Oracle Application Server environment, this port setting is overridden by OPMN, the Oracle Process Management and Notification system. Oracle Application Server uses port 7777 by default for access through Oracle HTTP Server with Oracle Application Server Web Cache enabled.

In a UNIX environment, port numbers less than 1024 require root privileges for access. Also note that if there is no port specification from the client browser, port 80 is assumed for HTTP protocol and port 443 for HTTPS.

use-keep-alive Values: Boolean Default: true

Typical behavior for a servlet container is to close a connection once a request has been completed. With a use-keep-alive setting of "true", however, a connection is maintained across requests. For AJP protocol, connections are always maintained and this attribute is ignored. For other protocols, the default is "true"; disabling it may cause significant performance loss.

virtual-hosts Values: string Default: n/a

This optional attribute is useful for virtual sites sharing the same IP address. The value is a comma-delimited list of host names tied to this Web site.


<description>

Contains an optional brief description of the Web site.

<frontend>

Specifies a perceived front-end host and port of this Web site as seen by HTTP clients. When the site is behind a load balancer or firewall, the <frontend> specification is necessary to provide appropriate information to Web application code for functionality such as URL rewriting.

Using the host and port specified in the <frontend> element, the back-end server running the application knows to refer to the front end, instead of to itself, in any URL rewriting. This way, subsequent requests properly come in through the front end again, instead of trying to access the back end directly.

Table B-22 describes the attributes of <frontend>.

Table B-22 <frontend> Attributes

Name Description
host Values: string Default: n/a

Specifies the host name of the front-end server, such as "www.acme.com".

port Specifies the port number of the front-end server, such as "80".

<web-app>

This element binds a particular Web module to this Web site. It specifies the name of a J2EE application archive (EAR file name minus the .ear extension) from the server.xml file, and the name of a Web module within the J2EE application. The Web module is defined in the J2EE application.xml file in the application EAR file (or possibly in the orion-application.xml file in the EAR file). The Web module is bound at the location specified by the <web-app> element root attribute.


Note:

It is possible to deploy a WAR file by itself, instead of within an EAR file. In OC4J standalone, such Web applications are added to the OC4J default application. (In OC4J, there must always be a parent application of some sort.) See "Understanding the Application Hierarchy in OC4J" for more information.

In this scenario, the Web site XML file <web-app> element specifies the name of the default application rather than the name of a J2EE application archive. More details are provided in the attribute descriptions and examples that follow.


Mapping to and from Web site XML files, particularly with respect to the application and name attributes, is shown in examples elsewhere in this document. See "Deploying a J2EE Application (EAR)" (for a typical scenario of deploying a WAR file within an EAR file) and "Deploying a Standalone Web Module (WAR)" (for the scenario of deploying a WAR file by itself to the OC4J default application).

Table B-23 describes the attributes of <web-app>.

Table B-23 <web-app> Attributes

Name Description
access-log Values: string Default: true

Specifies whether OC4J access logging, which logs requests to the Web site, is enabled for the Web module. The default is true. If log file management becomes an issue, set to false to disable access logging for the module.

See the descriptions of the <access-log> and <odl-access-log> elements within this section for more on access log configuration.

application Values: string Default: n/a

Specifies the J2EE application archive name, which is the EAR file name without the .ear extension, and which corresponds to the name attribute of an <application> element in the server.xml file.

If you deploy a WAR file by itself in OC4J standalone, using the OC4J default application as the parent, then the application attribute instead reflects the name of the default application, according to the <global-application> element in the server.xml file.

load-on-startup Values: Boolean Default: false

Optional. Specifies whether the Web module should be preloaded on application startup. Otherwise, it is loaded upon the first request for it. Supported values are "true" and "false". The default is false; however, this value is explicitly set to true when the module/application is deployed through Oracle Enterprise Manager 10g Application Server Control Console.

max-inactivity-time Values: string Default: 0

Optional. Specifies the number of minutes of inactivity after which OC4J will shut down the Web module. By default, a Web module is never shut down due to inactivity.

name Values: Boolean Default: n/a

Specifies the name of a Web module within the specified J2EE application, and corresponds to the <web-uri> value (without the .war extension) of a <web> subelement of a <module> element in the J2EE application.xml file. The J2EE application.xml file is in the EAR file.

root Values: string Default: n/a

Specifies the path to which the Web module is to be bound, which defines the context path portion of the URL used to invoke the module. For example, if the Web module CatalogApp at Web site www.example.com is bound to the root setting "/catalog", then it can be invoked as follows:

http://www.example.com/catalog

The root attribute overrides the <context-root> value of the corresponding <web> element in the J2EE application.xml file. Even though the <context-root> element is mandatory in an application.xml file, its value is not used by OC4J.

Specifying a root setting of "/" will override the OC4J default Web application. This setting or a null setting is not allowed by the admin.jar utility when binding a Web application to the Web site.

shared Values: string Default: false

Allows sharing of a published Web module between Web sites, when a Web site is defined by a particular pairing of a protocol and a port. Supported values are "true" and "false" (default). Use shared="true" only in OC4J standalone.

If an HTTPS Web application is marked as shared, its session tracking strategy reverts from SSL session tracking to session tracking through cookies or URL rewriting. This could possibly make the Web application less secure but may be necessary to work around issues such as SSL session timeouts not being properly supported in some browsers.


<default-web-app>

This element creates a reference to the default Web application bound to this Web site. When a single application is bound to the Web site - such as Application Server Control Console - specify the application within this element.

For users, this element is relevant only in an OC4J standalone environment. In an Oracle Application Server environment, the OC4J default Web application has system-level functionality but is not otherwise meaningful.

The <default-web-app> element uses the same attributes as the <web-app> element described immediately preceding, but note that the default setting of load-on-startup is "true".

<user-web-apps>

Use this element to support user directories and applications. Each user has his or her own Web module and associated web-application.xml file. User applications are reached at /username/ from the server root.

Table B-24 describes the attributes of <user-web-apps>.

Table B-24 <user-web-apps> Attributes

Name Description
max-inactivity-time Values: int Default: n/a

Optional integer attribute to specify the number of minutes of inactivity after which OC4J will shut down the Web module. By default, a Web module is never shut down due to inactivity.

path Specifies a path to specify the local directory of the user application, including a wildcard for the user name. The default path setting in UNIX, for example, is /home/username, where username is replaced by the particular user name.

<access-log>

Use this element to enable text-based access logging for this Web site and to specify information about the access log, including the path, file name, and what information is included. The log file is where incoming requests (each access of the Web site) are logged.

See "Configuring Text-Based Access Logging" for configuration details.

<odl-access-log>

Use this element to enable ODL-based access logging for the Web site and to specify information about the access logs, including the path, and maximum values for the size of each file and the total size of all files in the log directory. The log files are where incoming requests (each access of the Web site) are logged.

See "Configuring ODL Access Logging" for configuration details.

<ssl-config>

This element specifies SSL configuration settings, if applicable. You must use it whenever you set the secure attribute of the <web-site> element to "true".

Subelement of <ssl-config>:

<property>

Table B-25 describes the attributes of <ssl-config>.

Table B-25 <ssl-config> Attributes

Name Description
keystore Values: string Default: n/a

A relative or absolute path to the keystore database (a binary file) used by this Web site to store certificates and keys for the user base in this installation. The path value includes the file name. A relative path is relative to the location of the Web site XML file.

A keystore is a java.security.KeyStore instance and can be created and maintained using the keytool utility, provided with the Sun Microsystems JDK

keystore-password Values: string Default: n/a

The password required to open the keystore.

needs-client-auth Values: string Default: false

Indicates whether the entity that is a client to OC4J, such as Oracle HTTP Server, must submit a certificate for authorization so it can communicate with OC4J. Supported values are "true" for "client authentication" (certificate required) and "false", the default (no certificate required).

provider Values: string Default: com.sun.net.ssl.internal.ssl.Provider

You can use this attribute to specify a provider if you are using JSSE (Java Secure Socket Extension).

By default, OC4J usually employs the Sun Microsystems implementation of SSL. However, OC4J employs the Oracle SSL implementation in some cases, such as for SOAP and http_client.

factory Values: string Default: JSSE: com.evermind.ssl.JSSESSLServerSocketFactory

If you are not using JSSE, use the factory attribute to specify an implementation of SSLServerSocketFactory.

If you use a third-party SSLServerSocketFactory implementation, you can use <property> subelements of the <ssl-config> element to send parameters to the factory.