Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Administration Reference

- Previous: Preface

# Chapter 1 The domain.xml File

This chapter describes the `domain.xml` configuration file in these sections:

- About the domain.xml File

- Alphabetical List of Elements

# About the domain.xml File

The `domain.xml` file contains most of the Sun JavaTM System Application Server configuration. The encoding is UTF-8 to maintain compatibility with regular UNIX text editors. The `domain.xml` file is located in the domain configuration directory, which is typically domain-dir`/config`. This file is further described in the following sections:

- The sun-domain_1_1.dtd File

- Default Values

- Variables

- Element Referencing

- Element Hierarchy

## The sun-domain_1_1.dtd File

The `sun-domain_1_1.dtd` file defines the structure of the `domain.xml` file, including the elements it can contain and the subelements and attributes these elements can have. The `sun-domain_1_1.dtd` file is located in the install-dir`/lib/dtds` directory.

Note –

Do not edit the `sun-domain_1_1.dtd` file; its contents change only with new versions of the Application Server.

The `sun-domain_1_1.dtd` interface is unstable. An unstable interface might be experimental or transitional, and hence might change incompatibly, be removed, or be replaced by a more stable interface in the next release.

Elements or attributes that appear in the `sun-domain_1_1.dtd` file but are not described in this chapter are not implemented and should not be used.

For general information about DTD files and XML, see the XML specification.

## Default Values

In this manual, the term default is used in its broader sense, and not in the specific way it is used in the XML 1.0 standard. A default value is an initial value or the value used if no value is present in the XML file. A default value can be any of the following:

- A value supplied by the XML parser when no value is found in the `domain.xml` file. The relevant element or attribute is optional.

- A value supplied by the Application Server when no value is found in the `domain.xml` file and the XML parser doesn’t provide a value. The relevant element or attribute is optional.

- An initial value supplied when the `domain.xml` file is created. The relevant element or attribute might or might not be optional.

## Variables

Variables and variable references are needed for two reasons:

- Parts of the Application Server share much configuration information but differ in specific details. For example, server instances in a cluster typically share the same configuration except for their port numbers.

- Parts of the configuration come from the system environment but must still be captured in the configuration.

Variable references appear in the `domain.xml` file as strings that begin with the characters `${` and end with the character `}`. For example, the string `${com.sun.enterprise.myVar}` is a reference to the variable `com.sun.enterprise.myVar` .

Variables are defined both outside of and within `domain.xml`. Predefined variables that exist outside of `domain.xml` are defined as Java System Properties. Within `domain.xml`, a variable is defined using the system-property element or the jvm-options element.

The `system-property` element’s `name` attribute is the name of a variable; its `value` attribute is the definition of the variable. For example, the following `system-property` element defines a `port-number` variable with the value `6500`:

    <system-property name="port-number" value="6500"/>

Multiple `system-property` subelements are permitted within server, cluster, config, and domain elements.

A variable defined in the `jvm-options` element is a Java System Property with the `-D` flag. For example, the following `jvm-options` element defines a `port-number` variable with the value `5500`:

    <jvm-option>-Dport-number=5500</jvm-option>

Multiple definitions for the same variable are permitted. The Application Server determines the actual value of a variable by searching for its first definition in a strict hierarchy of the elements within `domain.xml`. The hierarchy is as follows:

    server -> cluster -> config -> jvm-options -> domain -> System

Implicit in this hierarchy is the notion of reference and containment. A variable referenced in a `server` element is only looked up:

- In the `cluster` element referenced by that specific `server`

- In the `config` element that references that specific `server`

- In the `jvm-options` subelements of the `config` element referenced by that `server`

## Element Referencing

One element references another when an attribute of the referencing element has the same value as an attribute of the referenced element. For example, the application-ref element references an application or module that is deployed to its parent server element. The `application-ref` element’s `ref` attribute has the same value as the `name` attribute of a lifecycle-module, j2ee-application, ejb-module, web-module, connector-module, or appclient-module element.

The referencing `application-ref` element might look like this:

    <application-ref ref="MyServlet"/>

The referenced `web-module` element might look like this:

    <web-module name="MyServlet" location="myservletdir"/>

## Element Hierarchy

The element hierarchy for the `domain.xml` file is as follows. To make the hierarchy more readable, elements having property as their last or only subelement are marked with a `P`, and the `property` subelements are not shown. Parent/child relationships between elements are shown, but not cardinality. For those details, see the element descriptions.

    domain P
    .    applications
    .    .    lifecycle-module P
    .    .   .    description
    .    .    j2ee-application
    .    .   .    description
    .    .    web-module
    .    .   .    description
    .    .    ejb-module
    .    .   .    description
    .    .    connector-module
    .    .   .    description
    .    .    appclient-module
    .    .   .    description
    .    resources
    .    .    custom-resource P
    .    .   .    description
    .    .    external-jndi-resource P
    .    .   .    description
    .    .    jdbc-resource P
    .    .   .    description
    .    .    mail-resource P
    .    .   .    description
    .    .    persistence-manager-factory-resource P
    .    .   .    description
    .    .    admin-object-resource P
    .    .   .    description
    .    .    connector-resource P
    .    .   .    description
    .    .    resource-adapter-config P
    .    .    jdbc-connection-pool P
    .    .   .    description
    .    .    connector-connection-pool P
    .    .   .    description
    .    .   .    security-map
    .    .   .    .    principal
    .    .   .    .    user-group
    .    .   .    .    backend-principal
    .    configs
    .    .    config P
    .    .   .    http-service P
    .    .   .    .    access-log
    .    .   .    .    request-processing
    .    .   .    .    keep-alive
    .    .   .    .    connection-pool
    .    .   .    .    http-protocol
    .    .   .    .    http-file-cache
    .    .   .    .    http-listener P
    .    .   .    .   .    ssl
    .    .   .    .    virtual-server P
    .    .   .    .   .    http-access-log
    .    .   .    iiop-service
    .    .   .    .    orb P
    .    .   .    .    ssl-client-config
    .    .   .    .   .    ssl
    .    .   .    .    iiop-listener P
    .    .   .    .   .    ssl
    .    .   .    admin-service P
    .    .   .    .    jmx-connector P
    .    .   .    .   .    ssl
    .    .   .    .    das-config P
    .    .   .    connector-service
    .    .   .    web-container P
    .    .   .    .    session-config
    .    .   .    .   .    session-manager
    .    .   .    .   .    .    manager-properties P
    .    .   .    .   .    .    store-properties P
    .    .   .    .   .    session-properties P
    .    .   .    ejb-container P
    .    .   .    .    ejb-timer-service P
    .    .   .    mdb-container P
    .    .   .    jms-service P
    .    .   .    .    jms-host P
    .    .   .    log-service P
    .    .   .    .    module-log-levels P
    .    .   .    security-service P
    .    .   .    .    auth-realm P
    .    .   .    .    jacc-provider P
    .    .   .    .    audit-module P
    .    .   .    .    message-security-config
    .    .   .    .   .    provider-config P
    .    .   .    .   .    .    request-policy
    .    .   .    .   .    .    response-policy
    .    .   .    transaction-service P
    .    .   .    monitoring-service P
    .    .   .    .    module-monitoring-levels P
    .    .   .    java-config P
    .    .   .    .    profiler P
    .    .   .    .   .    jvm-options
    .    .   .    .    jvm-options
    .    .   .    availability-service P
    .    .   .    .    web-container-availability P
    .    .   .    .    ejb-container-availability P
    .    .   .    thread-pools
    .    .   .    .    thread-pool
    .    .   .    alert-service P
    .    .   .    .    alert-subscription
    .    .   .    .   .    listener-config P
    .    .   .    .   .    filter-config P
    .    .   .    system-property
    .    .   .    .    description
    .    servers
    .    .    server P
    .    .   .    application-ref
    .    .   .    resource-ref
    .    .   .    system-property
    .    .   .    .    description
    .    clusters
    .    .    cluster P
    .    .   .    server-ref
    .    .   .    .    health-checker
    .    .   .    resource-ref
    .    .   .    application-ref
    .    .   .    system-property
    .    .   .    .    description
    .    node-agents
    .    .    node-agent P
    .    .   .    jmx-connector P
    .    .   .    .    ssl
    .    .   .    auth-realm P
    .    .   .    log-service P
    .    .   .    .    module-log-levels P
    .    lb-configs
    .    .    lb-config P
    .    .   .    cluster-ref
    .    .   .    .    health-checker
    .    .   .    server-ref
    .    .   .    .    health-checker
    .    system-property
    .    .    description

# Alphabetical List of Elements

Note –

Subelements must be defined in the order in which they are listed under each Subelements heading in this chapter unless otherwise noted.

A B C D E F H I J K L M N O P R S T U V W

# A

## access-log

Defines access log settings for each http-access-log subelement of each virtual-server.

### Superelements

http-service

### Subelements

none

### Attributes

The following table describes attributes for the `access-log` element.

Table 1–1 `access-log` Attributes

Attribute | Default | Description
--- | --- | ---
`format` | `%client.dns;%auth-user-name;%system.date;%request;%status;%response.length;` | (optional) Specifies the format of the access log.
`rotation-policy` | `time` | (optional) Specifies the condition that triggers log rotation. The only legal value is `time`, which rotates log files at the `rotation-interval-in-minutes` interval.
`rotation-interval-in-minutes` | `1440` | (optional) Specifies the time interval between log rotations if `rotation-policy` is set to `time`.
`rotation-suffix` | `%YYYY;%MM;%DD;-%hh;h%mm;m%ss;s` | (optional) Specifies the format of the timestamp appended to the access log name when log rotation occurs.
`rotation-enabled` | `true` | (optional) If `true`, enables log rotation.

## admin-object-resource

Defines an administered object for an inbound resource adapter.

### Superelements

resources

### Subelements

The following table describes subelements for the `admin-object-resource` element.

Table 1–2 `admin-object-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `admin-object-resource` element.

Table 1–3 `admin-object-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`res-type` | none | Specifies the fully qualified type of the resource.
`res-adapter` | none | Specifies the name of the inbound resource adapter, as specified in the `name` attribute of a connector-module element.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

### Properties

Properties of the `admin-object-resource` element are the names of setter methods of the `adminobject-class` specified in the `adminobject` element of the `ra.xml` file. Some of the property names can be specified in the `adminobject` element itself. For example, in `jmsra`, the resource adapter used to communicate with the Sun Java system Message Queue software, `jmsra`, `Name` and `Description` are valid properties.

For a complete list of the available properties (called administered object attributes in Sun Java System Message Queue), see the Message Queue administration material.

## admin-service

Determines whether the server instance is a regular instance, a domain administration server, or a combination.

### Superelements

config

### Subelements

The following table describes subelements for the `admin-service` element.

Table 1–4 `admin-service` Subelements

Element | Required | Description
--- | --- | ---
jmx-connector | zero or more | Configures a JSR 160 compliant remote JMX connector.
das-config | zero or one | Defines a domain administration server configuration.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `admin-service` element.

Table 1–5 `admin-service` Attributes

Attribute | Default | Description
--- | --- | ---
`type` | `server` | Specifies whether the server instance is a regular instance (`server`), a domain administration server (`das`), or a combination (`das-and-server`).
`system-jmx-connector-name` | none | Specifies the name of the internal jmx-connector.

## alert-service

Configures the alert service, which allows you to register for and receive system status alerts.

### Superelements

config

### Subelements

The following table describes subelements for the `alert-service` element.

Table 1–6 `alert-service` Subelements

Element | Required | Description
--- | --- | ---
alert-subscription | zero or more | Configures a subscription to system status alerts.
property | zero or more | Specifies a property or a variable.

## alert-subscription

Configures a subscription to system status alerts.

### Superelements

alert-service

### Subelements

The following table describes subelements for the `alert-subscription` element.

Table 1–7 `alert-subscription` Subelements

Element | Required | Description
--- | --- | ---
listener-config | only one | Configures the listener class that listens for alerts from notification emitters.
filter-config | zero or one | Configures the filter class that filters alerts from notification emitters.

### Attributes

The following table describes attributes for the `alert-subscription` element.

Table 1–8 `alert-subscription` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of this alert subscription.

## appclient-module

Specifies a deployed application client container (ACC) module.

### Superelements

applications

### Subelements

The following table describes subelements for the `appclient-module` element.

Table 1–9 `appclient-module` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `appclient-module` element.

Table 1–10 `appclient-module` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | The name of the ACC module.
`location` | none | The location of the ACC module in the Application Server file system.
`directory-deployed` | `false` | (optional) Specifies whether the application has been deployed to a directory.

## application-ref

References an application or module deployed to the server instance.

### Superelements

cluster, server

### Subelements

none

### Attributes

The following table describes attributes for the `application-ref` element.

Table 1–11 `application-ref` Attributes

Attribute | Default | Description
--- | --- | ---
`enabled` | `true` | (optional) Determines whether the application or module is enabled.
`virtual-servers` | all virtual servers | (optional) In a comma-separated list, references `id` attributes of the virtual-server elements to which the web-module or the web modules within this j2ee-application are deployed.
`lb-enabled` | `false` | (optional) If `true`, all load-balancers consider this application available to them.
`disable-timeout-in-minutes` | `30` | (optional) Specifies the time it takes this application to reach a quiescent state after having been disabled.
`ref` | none | References the `name` attribute of a lifecycle-module, j2ee-application, ejb-module, web-module, connector-module, or appclient-module element.

## applications

Contains deployed J2EE applications, J2EE modules, and Lifecycle modules.

### Superelements

domain

### Subelements

The following table describes subelements for the `applications` element.

Table 1–12 `applications` Subelements

Element | Required | Description
--- | --- | ---
lifecycle-module | zero or more | Specifies a deployed lifecycle module.
j2ee-application | zero or more | Specifies a deployed J2EE application.
ejb-module | zero or more | Specifies a deployed EJB module.
web-module | zero or more | Specifies a deployed web module.
connector-module | zero or more | Specifies a deployed connector module.
appclient-module | zero or more | Specifies a deployed application client container (ACC) module.

Note –

Subelements of an `applications` element can occur in any order.

## audit-module

Specifies an optional plug-in module that implements audit capabilities.

### Superelements

security-service

### Subelements

The following table describes subelements for the `audit-module` element.

Table 1–13 `audit-module` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `audit-module` element.

Table 1–14 `audit-module` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of this audit module.
`classname` | none | Specifies the Java class that implements this audit module.

## auth-realm

Defines a realm for authentication.

Authentication realms require provider-specific properties, which vary depending on what a particular implementation needs.

For more information about how to define realms, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.

Here is an example of the default `file` realm:

    <auth-realm name="file"
         classname="com.iplanet.ias.security.auth.realm.file.FileRealm">
         <property name="file" value="domain-dir/config/keyfile"/>
         <property name="jaas-context" value="fileRealm"/>
     </auth-realm>

Which properties an `auth-realm` element uses depends on the value of the `auth-realm` element’s `name` attribute. The `file` realm uses `file` and `jaas-context` properties. Other realms use different properties.

### Superelements

node-agent, security-service

### Subelements

The following table describes subelements for the `auth-realm` element.

Table 1–15 `auth-realm` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `auth-realm` element.

Table 1–16 `auth-realm` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of this realm.
`classname` | none | Specifies the Java class that implements this realm.

### Properties

The standard realms provided with Application Server have required and optional properties. A custom realm might have different properties.

The following table describes properties for the `auth-realm` element.

Table 1–17 `auth-realm` Properties

Property | Realms | Description
--- | --- | ---
`jaas-context` | `file, ldap, solaris` | Specifies the JAAS (Java Authentication and Authorization Service) context.
`file` | `file` | Specifies the file that stores user names. The default is domain-dir`/config/keyfile`.
`assign-groups` | `certificate` | (optional) If this property is set, its value is taken to be a comma-separated list of group names. All clients who present valid certificates are assigned membership to these groups for the purposes of authorization decisions in the web and EJB containers.
`directory` | `ldap` | Specifies the LDAP URL to your server.
`base-dn` | `ldap` | Specifies the LDAP base DN for the location of user data. This base DN can be at any level above the user data, since a tree scope search is performed. The smaller the search tree, the better the performance.
`search-filter` | `ldap` | (optional) Specifies the search filter to use to find the user. The default is `uid=%s` (`%s` expands to the subject name).
`group-base-dn` | `ldap` | (optional) Specifies the base DN for the location of groups data. By default, it is same as the `base-dn`, but it can be tuned, if necessary.
`group-search-filter` | `ldap` | (optional) Specifies the search filter to find group memberships for the user. The default is `uniquemember=%d` (`%d` expands to the user element DN).
`group-target` | `ldap` | (optional) Specifies the LDAP attribute name that contains group name entries. The default is `CN`.
`search-bind-dn` | `ldap` | (optional) Specifies an optional DN used to authenticate to the directory for performing the `search-filter` lookup. Only required for directories that do not allow anonymous search.
`search-bind-password` | `ldap` | (optional) Specifies the LDAP password for the DN given in `search-bind-dn` .

## availability-service

Configures the availability service. Enables high-availability features, such as HTTP session and stateful session bean state persistence to the Sun Java System high-availability database (HADB).

Availability can be enabled or disabled at the following levels:

1. The server instance (attribute of `availability-service`). Default is `true` (enabled).

2. The EJB or web container (attribute of ejb-container-availability or web-container-availability). Default is `true` (enabled).

3. The application (attribute of j2ee-application). Default is `false` (disabled).

4. The stand-alone EJB or web module (attribute of ejb-module or web-module). Default is `false` (disabled).

5. The stateful session bean. Default is `false` (disabled). See the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.

For availability to be enabled at a given level, it must be enabled at all higher levels, as well. For example, to enable availability at the application level, you must also enable it at the server instance and container levels.

### Superelements

config

### Subelements

The following table describes subelements for the `availability-service` element.

Table 1–18 `availability-service` Subelements

Element | Required | Description
--- | --- | ---
web-container-availability | only one | Enables availability in the web container.
ejb-container-availability | only one | Enables availability in the EJB container.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `availability-service` element.

Table 1–19 `availability-service` Attributes

Attribute | Default | Description
--- | --- | ---
`availability-enabled` | `true` | (optional) If set to `true`, high-availability features apply to all applications deployed to the server instance that do not have availability disabled. All instances in a cluster should have the same availability value to ensure consistent behavior.
`store-pool-name` | `jdbc/hastore` | (optional) Specifies the `jndi-name` of the jdbc-resource used for connections to the HADB for session persistence. For more information about setting up a connection pool and JDBC resource for the HADB, see the description of the `configure-ha-cluster` command in the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Reference Manual.

# B

## backend-principal

Specifies the user name and password required by the EIS.

### Superelements

security-map

### Subelements

none

### Attributes

The following table describes attributes for the `backend-principal` element.

Table 1–20 `backend-principal` Attributes

Attribute | Default | Description
--- | --- | ---
`user-name` | none | Specifies the user name required by the EIS.
`password` | none | Specifies the password required by the EIS.

# C

## cluster

Defines a cluster.

### Superelements

clusters

### Subelements

The following table describes subelements for the `cluster` element.

Table 1–21 `cluster` Subelements

Element | Required | Description
--- | --- | ---
server-ref | zero or more | References a server instance that belongs to the cluster.
resource-ref | zero or more | References a resource deployed to the cluster.
application-ref | zero or more | References an application or module deployed to the cluster.
system-property | zero or more | Specifies a system property.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `cluster` element.

Table 1–22 `cluster` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the cluster.
`config-ref` | default config element’s `name` attribute value, `server-config` | References the configuration used by the cluster.

## cluster-ref

References a cluster.

### Superelements

lb-config

### Subelements

The following table describes subelements for the `cluster-ref` element.

Table 1–23 `cluster-ref` Subelements

Element | Required | Description
--- | --- | ---
health-checker | zero or one | Defines a health checker for the referenced cluster.

### Attributes

The following table describes attributes for the `cluster-ref` element.

Table 1–24 `cluster-ref` Attributes

Attribute | Default | Description
--- | --- | ---
`ref` | none | References the `name` attribute of a cluster element.

## clusters

Contains clusters.

### Superelements

domain

### Subelements

The following table describes subelements for the `clusters` element.

Table 1–25 `clusters` Subelements

Element | Required | Description
--- | --- | ---
cluster | zero or more | Defines a cluster.

## config

Defines a configuration, which is a collection of settings that controls how a server instance functions.

### Superelements

configs

### Subelements

The following table describes subelements for the `config` element.

Table 1–26 `config` Subelements

Element | Required | Description
--- | --- | ---
http-service | only one | Configures the HTTP service.
iiop-service | only one | Configures the IIOP service.
admin-service | only one | Determines whether the server to which the configuration applies is an administration server.
connector-service | zero or one | Configures the connector service.
web-container | only one | Configures the web container.
ejb-container | only one | Configures the Enterprise JavaBeansTM (EJBTM) container.
mdb-container | only one | Configures the message-driven bean (MDB) container.
jms-service | zero or one | Configures the Java Message Service (JMS) provider.
log-service | only one | Configures the system logging service.
security-service | only one | Configures the J2EE security service.
transaction-service | only one | Configures the transaction service.
monitoring-service | only one | Configures the monitoring service.
java-config | only one | Configures the Java Virtual Machine (JVMTM).
availability-service | zero or one | Configures the availability service.
thread-pools | only one | Configures thread pools.
alert-service | zero or one | Configures the alert service.
system-property | zero or more | Specifies a system property.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `config` element.

Table 1–27 `config` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | `server-config` (for default instance) | Specifies the name of the configuration.
`dynamic-reconfiguration-enabled` | `true` | (optional) If `true`, any changes to the system (for example, applications deployed, resources created) are automatically applied to the affected servers without a restart being required. If false, such changes are only picked up by the affected servers when each server restarts.

## configs

Contains configurations.

### Superelements

domain

### Subelements

The following table describes subelements for the `configs` element.

Table 1–28 `configs` Subelements

Element | Required | Description
--- | --- | ---
config | one or more | Defines a configuration.

## connection-pool

Defines a pool of client HTTP connections.

### Superelements

http-service

### Subelements

none

### Attributes

The following table describes attributes for the `connection-pool` element.

Table 1–29 `connection-pool` Attributes

Attribute | Default | Description
--- | --- | ---
`queue-size-in-bytes` | `4096` | (optional) Specifies the number of outstanding connections an http-listener can have.
`max-pending-count` | `4096` | (optional) Specifies the maximum number of pending connections on an http-listener.
`receive-buffer-size-in-bytes` | `4096` | (optional) Specifies the size of the receive buffer for all http-listener elements.
`send-buffer-size-in-bytes` | `8092` | (optional) Specifies the size of the send buffer for all http-listener elements.

## connector-connection-pool

Defines a connector connection pool.

### Superelements

resources

### Subelements

The following table describes subelements for the `connector-connection-pool` element.

Table 1–30 `connector-connection-pool` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
security-map | zero or more | Maps the principal received during servlet or EJB authentication to the credentials accepted by the EIS.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `connector-connection-pool` element.

Table 1–31 `connector-connection-pool` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the connection pool. A connector-resource element’s `pool-name` attribute refers to this `name`.
`resource-adapter-name` | none | Specifies the `name` attribute of the deployed connector-module. If no name is specified during deployment, the name of the `.rar` file is used. If the resource adapter is embedded in an application, then it is app_name`#`rar_name .
`connection-definition-name` | none | Specifies a unique name, identifying a resource adapter’s `connection-definition` element in the `ra.xml` file. This is usually the `connectionfactory-interface` of the `connection-definition` element.
`steady-pool-size` | `8` | (optional) Specifies the initial and minimum number of connections maintained in the pool.
`max-pool-size` | `32` | (optional) Specifies the maximum number of connections that can be created to satisfy client requests.
`max-wait-time-in-millis` | `60000` | (optional) Specifies the amount of time, in milliseconds, that the caller is willing to wait for a connection. If `0`, the caller is blocked indefinitely until a resource is available or an error occurs.
`pool-resize-quantity` | `2` | (optional) Specifies the number of connections to be destroyed if the existing number of connections is above the `steady-pool-size` (subject to the `max-pool-size` limit). This is enforced periodically at the `idle-time-out-in-seconds` interval. An idle connection is one that has not been used for a period of `idle-time-out-in-seconds` .
`idle-timeout-in-seconds` | `300` | (optional) Specifies the maximum time that a connection can remain idle in the pool. After this amount of time, the pool can close this connection.
`fail-all-connections` | `false` | (optional) If `true`, closes all connections in the pool if a single validation check fails.
`transaction-support` | none | (optional) Specifies the transaction support for this connection pool. Overrides the transaction support defined in the resource adapter in a downward compatible way: supports a transaction level lower than or equal to the resource adapter’s, but not higher. Allowed values in descending order are: `XATransaction` - Supports distributed transactions. `LocalTransaction` - Supports local transactions only. `NoTransaction` - No transaction support.

### Properties

Properties of the `connector-connection-pool` element are the names of setter methods of the `managedconnectionfactory-class` element in the `ra.xml` file. Properties of this element override the `ManagedConnectionFactory` JavaBean configuration settings.

The following table describes the `connector-connection-pool` properties of `jmsra`, the resource adapter used to communicate with the Sun Java System Message Queue software. For a complete list of the available properties (called administered object attributes in Sun Java System Message Queue), see the Message Queue administration material.

Table 1–32 `connector-connection-pool` Properties

Property | Default | Description
--- | --- | ---
`AddressList` | none | Specifies a list of host/port combinations of the Sun Java System Message Queue. For JMS resources of the Type `javax.jms.TopicConnectionFactory` or `javax.jms.QueueConnectionFactory`.
`ClientId` | none | Specifies the JMS Client Identifier to be associated with a `Connection` created using the `createTopicConnection` method of the `TopicConnectionFactory` class. For JMS resources of the Type `javax.jms.TopicConnectionFactory` . Durable subscription names are unique and only valid within the scope of a client identifier. To create or reactivate a durable subscriber, the connection must have a valid client identifier. The JMS specification ensures that client identifiers are unique and that a given client identifier is allowed to be used by only one active connection at a time.
`UserName` | `guest` | Specifies the user name for connecting to the Sun Java System Message Queue. For JMS resources of the Type `javax.jms.TopicConnectionFactory` or `javax.jms.QueueConnectionFactory`.
`Password` | `guest` | Specifies the password for connecting to the Sun Java System Message Queue. For JMS resources of the Type `javax.jms.TopicConnectionFactory` or `javax.jms.QueueConnectionFactory`.
`ReconnectAttempts` | `6` | Specifies the number of attempts to connect (or reconnect) for each address in the `imqAddressList` before the client runtime moves on to try the next address in the list. A value of `-1` indicates that the number of reconnect attempts is unlimited (the client runtime attempts to connect to the first address until it succeeds).
`ReconnectInterval` | `30000` | Specifies the interval between reconnect attempts in milliseconds. This applies to attempts on each address in the `imqAddressList` and on successive addresses in the list. If too short, this time interval does not give a broker time to recover. If too long, the reconnect might represent an unacceptable delay.
`ReconnectEnabled` | `false` | If `true`, specifies that the client runtime attempts to reconnect to a message server (or the list of addresses in `imqAddressList`) when a connection is lost.
`AddressListBehavior` | `priority` | Specifies whether connection attempts are in the order of addresses in the `imqAddressList` attribute (`priority`) or in a random order (`random`). If many clients are attempting a connection using the same connection factory, use a random order to prevent them from all being connected to the same address.
`AddressListIterations` | `-1` | Specifies the number of times the client runtime iterates through the `imqAddressList` in an effort to establish (or reestablish) a connection. A value of `-1` indicates that the number of attempts is unlimited.

Note –

All JMS administered object resource properties that worked with version 7 of the Application Server are supported for backward compatibility.

## connector-module

Specifies a deployed connector module.

### Superelements

applications

### Subelements

The following table describes subelements for the `connector-module` element.

Table 1–33 `connector-module` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `connector-module` element.

Table 1–34 `connector-module` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | name of the `.rar` file | The name of the connector module.
`location` | none | The location of the connector module in the Application Server file system.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether the connector module is enabled.
`directory-deployed` | `false` | (optional) Specifies whether the application has been deployed to a directory.

## connector-resource

Defines the connection factory object of a specific connection definition in a connector (resource adapter).

### Superelements

resources

### Subelements

The following table describes subelements for the `connector-resource` element.

Table 1–35 `connector-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `connector-resource` element.

Table 1–36 `connector-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`pool-name` | none | Specifies the `name` of the associated connector connection pool, defined in a connector-connection-pool element.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

## connector-service

Configures the connector service.

### Superelements

config

### Subelements

none

### Attributes

The following table describes attributes for the `connector-service` element.

Table 1–37 `connector-service` Attributes

Attribute | Default | Description
--- | --- | ---
`shutdown-timeout-in-seconds` | 30 | (optional) Specifies the maximum time allowed during application server shutdown for the `ResourceAdapter.stop()` method of a connector module’s instance to complete. Resource adapters that take longer to shut down are ignored, and Application Server shutdown continues.

## custom-resource

Defines a custom resource, which specifies a custom server-wide resource object factory. Such object factories implement the `javax.naming.spi.ObjectFactory` interface.

### Superelements

resources

### Subelements

The following table describes subelements for the `custom-resource` element.

Table 1–38 `custom-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `custom-resource` element.

Table 1–39 `custom-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`res-type` | none | Specifies the fully qualified type of the resource.
`factory-class` | none | Specifies the fully qualified name of the user-written factory class, which implements `javax.naming.spi.ObjectFactory`.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

# D

## das-config

Defines a domain administration server configuration. The domain administration server runs the Administration Console.

### Superelements

admin-service

### Subelements

The following table describes subelements for the `das-config` element.

Table 1–40 `das-config` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `das-config` element. For more information about deployment topics such as dynamic reloading and autodeployment, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.

Table 1–41 `das-config` Attributes

Attribute | Default | Description
--- | --- | ---
`dynamic-reload-enabled` | `false` | (optional) If `true`, checks the timestamp on a `.reload` file at every module and application directory level, to trigger dynamic reloading.
`dynamic-reload-poll-interval-in-seconds` | `2` | (optional) Controls the polling frequency of dynamic reloading.
`autodeploy-enabled` | `false` | (optional) If `true`, enables autodeployment, which lets you quickly deploy applications and modules to a running Application Server without performing an explicit server instance restart or a separate deployment operation.
`autodeploy-polling-interval-in-seconds` | `2` | (optional) Controls the polling frequency of autodeployment.
`autodeploy-dir` | `autodeploy` | (optional) Specifies the source directory (absolute or relative to domain-dir) in which autodeployment looks for deployable components.
`autodeploy-verifier-enabled` | `false` | (optional) If `true`, the verifier is run before autodeployment. If verification fails, deployment is not performed.
`autodeploy-jsp-precompilation-enabled` | `false` | (optional) If `true`, JSP pages are precompiled during autodeployment.
`deploy-xml-validation` | `full` | (optional) Specifies the type of XML validation performed on standard and Application Server deployment descriptors: `full` - If XML validation fails, deployment fails. `parsing` - XML validation errors are reported but deployment occurs. `none` - No XML validation is performed.
`admin-session-timeout-in-minutes` | `sun-web.xml` `timeoutSeconds` property value or `web.xml` `session-timeout` attribute value | (optional) Specifies the Administration Console timeout.

## description

Contains a text description of the parent element.

### Superelements

admin-object-resource, appclient-module, connector-connection-pool, connector-module, connector-resource, custom-resource, ejb-module, external-jndi-resource, j2ee-application, jdbc-connection-pool, jdbc-resource, lifecycle-module, mail-resource, persistence-manager-factory-resource, property, system-property, web-module

### Subelements

none - contains data

## domain

Defines a domain. This is the root element; there can only be one `domain` element in a `domain.xml` file.

### Superelements

none

### Subelements

The following table describes subelements for the `domain` element.

Table 1–42 `domain` Subelements

Element | Required | Description
--- | --- | ---
applications | zero or one | Contains deployed J2EE applications, J2EE modules, and lifecycle modules.
resources | zero or one | Contains configured resources.
configs | only one | Contains configurations.
servers | only one | Contains server instances.
clusters | zero or one | Contains clusters.
node-agents | zero or one | Contains node agents.
lb-configs | zero or one | Contains load balancing configurations.
system-property | zero or more | Specifies a system property.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `domain` element.

Table 1–43 `domain` Attributes

Attribute | Default | Description
--- | --- | ---
`application-root` | domain-dir`/applications` | (optional) Specifies the absolute path where deployed applications reside for this domain.
`log-root` | domain-dir`/logs` | (optional) Specifies where the domain’s log files are kept. The directory in which the log is kept must be writable by whatever user account the server runs as. See the log-service description for details about logs.
`locale` | operating system default | (optional) Specifies the domain’s language.

# E

## ejb-container

Configures the EJB container. Stateless session beans are maintained in pools. Stateful session beans have session affinity and are cached. Entity beans associated with a database primary key are also cached. Entity beans not yet associated with a primary key are maintained in pools. Pooled entity beans are used to run `ejbCreate()` and finder methods.

### Superelements

config

### Subelements

The following table describes subelements for the `ejb-container` element.

Table 1–44 `ejb-container` Subelements

Element | Required | Description
--- | --- | ---
ejb-timer-service | zero or one | Configures the EJB timer service.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `ejb-container` element.

Table 1–45 `ejb-container` Attributes

Attribute | Default | Description
--- | --- | ---
`steady-pool-size` | `32` | (optional) Specifies the initial and minimum number of beans maintained in the pool. Must be `0` or greater and less than `max-pool-size` . Bean instances are removed from the pool and returned after use. The pool is replenished or cleaned up periodically to maintain this size. Applies to stateless session beans and entity beans.
`pool-resize-quantity` | `16` | (optional) Specifies the number of beans to be removed when the `pool-idle-timeout-in-seconds` timer expires. A cleaner thread removes any unused instances. Must be `0` or greater and less than `max-pool-size` . The pool is not resized below the `steady-pool-size`. Applies to stateless session beans and entity beans.
`max-pool-size` | `64` | (optional) Specifies the maximum number of beans that can be created to satisfy client requests. A value of `0` indicates an unbounded pool. Applies to stateless session beans and entity beans.
`cache-resize-quantity` | `32` | (optional) Specifies the number of beans to be: created if a request arrives when the pool has no available beans (subject to the `max-cache-size` limit) passivated when the `cache-idle-timeout-in-seconds` timer expires and a cleaner thread removes any unused instances, or when the cache size exceeds `max-cache-size`. Must be greater than `1` and less than `max-cache-size`. Applies to stateful session beans and entity beans.
`max-cache-size` | `512` | (optional) Specifies the maximum number of beans in the cache. A value of `0` indicates an unbounded cache. Applies to stateful session beans and entity beans.
`pool-idle-timeout-in-seconds` | `600` | (optional) Specifies the maximum time that a bean can remain idle in the pool. After this amount of time, the pool can remove this bean. A value of `0` specifies that idle beans can remain in the pool indefinitely. Applies to stateless session beans and entity beans.
`cache-idle-timeout-in-seconds` | `600` | (optional) Specifies the maximum time that a bean can remain idle in the cache. After this amount of time, the container can passivate this bean. A value of `0` specifies that beans never become candidates for passivation. Applies to stateful session beans and entity beans.
`removal-timeout-in-seconds` | `5400` | (optional) Specifies the amount of time that a bean can remain passivated before it is removed from the session store. A value of `0` specifies that the container does not remove inactive beans automatically. If `removal-timeout-in-seconds` is less than or equal to `cache-idle-timeout-in-seconds`, beans are removed immediately without being passivated. The `session-store` attribute of the server element determines the location of the session store. Applies to stateful session beans.
`victim-selection-policy` | `nru` | (optional) Specifies how stateful session beans are selected for passivation. Allowed values are `fifo`, `lru`, and `nru` : `fifo` - Selects the oldest instance. `lru` - Selects the least recently accessed instance. `nru` - Selects a not recently used instance.
`commit-option` | `B` | (optional) Determines which commit option is used for entity beans. Legal values are `B` or `C`.
`session-store` | domain-dir`/session-store` | (optional) Specifies the directory where passivated stateful session beans and persisted HTTP sessions are stored in the file system.

## ejb-container-availability

Enables availability in the EJB container, including stateful session bean (SFSB) state persistence to the high-availability database (HADB).

### Superelements

availability-service

### Subelements

The following table describes subelements for the `ejb-container-availability` element.

Table 1–46 `ejb-container-availability` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `ejb-container-availability` element.

Table 1–47 `ejb-container-availability` Attributes

Attribute | Default | Description
--- | --- | ---
`availability-enabled` | `true` | (optional) If set to `true`, and if availability is enabled for the server instance (see availability-service), high-availability features apply to all SFSBs deployed to the server instance that do not have availability disabled. All instances in a cluster should have the same availability value to ensure consistent behavior.
`sfsb-ha-persistence-type` | `ha` | (optional) Specifies the session persistence and passivation mechanism for SFSBs that have availability enabled. Allowed values are `file` (the file system) and `ha` (the HADB). For production environments that require session persistence, use `ha`. If set to `file`, the ejb-container element’s `session-store` attribute specifies the file system location where the passivated session bean state is stored. Checkpointing to the file system is useful for internal testing but is not supported for production environments.
`sfsb-persistence-type` | `file` | (optional) Specifies the passivation mechanism for SFSBs that do not have availability enabled. Allowed values are `file` and `ha`.
`sfsb-store-pool-name` | availability-service `store-pool-name` attribute value | (optional) Specifies the `jndi-name` of the jdbc-resource used for connections to the HADB for session persistence. For more information about setting up a connection pool and JDBC resource for the HADB, see the description of the `configure-ha-cluster` command in the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Reference Manual.

## ejb-module

Specifies a deployed EJB module.

### Superelements

applications

### Subelements

The following table describes subelements for the `ejb-module` element.

Table 1–48 `ejb-module` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `ejb-module` element.

Table 1–49 `ejb-module` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | The name of the EJB module.
`location` | none | The location of the EJB module in the Application Server file system.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether the EJB module is enabled.
`availability-enabled` | `false` | (optional) Specifies whether availability is enabled in this EJB module for SFSB checkpointing (and potentially passivation). Availability must also be enabled for the application or stand-alone EJB module during deployment. For more information about availability, see availability-service.
`directory-deployed` | `false` | (optional) Specifies whether the application has been deployed to a directory.

## ejb-timer-service

Configures the EJB timer service.

### Superelements

ejb-container

### Subelements

The following table describes subelements for the `ejb-timer-service` element.

Table 1–50 `ejb-timer-service` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `ejb-timer-service` element.

Table 1–51 `ejb-timer-service` Attributes

Attribute | Default | Description
--- | --- | ---
`minimum-delivery-interval-in-millis` | `7000` | (optional) Specifies the minimum time before an expiration for a particular timer can occur. This guards against extremely small timer increments that can overload the server.
`max-redeliveries` | `1` | (optional) Specifies the maximum number of times the EJB timer service attempts to redeliver a timer expiration due for exception or rollback.
`timer-datasource` | `jdbc/ __TimerPool` | (optional) Overrides, for the cluster or server instance, the `cmp-resource` value specified in `sun-ejb-jar.xml` for the timer service system application (`__ejb_container_timer_app` ).
`redelivery-interval-internal-in-millis` | `5000` | (optional) Specifies how long the EJB timer service waits after a failed `ejbTimeout` delivery before attempting a redelivery.

## external-jndi-resource

Defines a resource that resides in an external JNDI repository. For example, a generic Java object could be stored in an LDAP server. An external JNDI factory must implement the `javax.naming.spi.InitialContextFactory` interface.

### Superelements

resources

### Subelements

The following table describes subelements for the `external-jndi-resource` element.

Table 1–52 `external-jndi-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `external-jndi-resource` element.

Table 1–53 `external-jndi-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`jndi-lookup-name` | none | Specifies the JNDI lookup name for the resource.
`res-type` | none | Specifies the fully qualified type of the resource.
`factory-class` | none | Specifies the fully qualified name of the factory class, which implements `javax.naming.spi.InitialContextFactory`. For more information about JNDI, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

# F

## filter-config

Configures the filter class that filters alerts from notification emitters. See also listener-config.

### Superelements

alert-subscription

### Subelements

The following table describes subelements for the `filter-config` element.

Table 1–54 `filter-config` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `filter-config` element.

Table 1–55 `filter-config` Attributes

Attribute | Default | Description
--- | --- | ---
`filter-class-name` | none | Specifies the class name of the filter.

# H

## health-checker

Defines a health checker for the parent server-ref or cluster-ref element.

### Superelements

cluster-ref, server-ref

### Subelements

none

### Attributes

The following table describes attributes for the `health-checker` element.

Table 1–56 `health-checker` Attributes

Attribute | Default | Description
--- | --- | ---
`url` | `/` | Specifies the URL to ping to determine the health state of a listener. This must be a relative URL.
`interval-in-seconds` | `30` | Specifies the interval between health checks. A value of zero means that health checking is disabled.
`timeout-in-seconds` | `10` | Specifies the maximum time in which a server must respond to a health check request to be considered healthy. If `interval-in-seconds` is greater than zero, `timeout-in-seconds` must be less than or equal to `interval-in-seconds`.

## http-access-log

Defines an access log file for a virtual-server. The access-log subelement of the virtual server’s parent http-service element determines the access log file’s format and rotation settings.

### Superelements

virtual-server

### Subelements

none

### Attributes

The following table describes attributes for the `http-access-log` element.

Table 1–57 `http-access-log` Attributes

Attribute | Default | Description
--- | --- | ---
`log-directory` | `${com.sun.aas.instanceRoot}/logs/access` | (optional) Specifies the location of the access log file.
`iponly` | `true` | (optional) If `true`, specifies that only the IP address of the user agent is listed. If `false`, performs a DNL lookup.

## http-file-cache

Configures the HTTP file cache.

### Superelements

http-service

### Subelements

none

### Attributes

The following table describes attributes for the `http-file-cache` element.

Table 1–58 `http-file-cache` Attributes

Attribute | Default | Description
--- | --- | ---
`globally-enabled` | `true` | (optional) If `true`, enables the file cache.
`file-caching-enabled` | `on` | (optional) If on, enables caching of the file content if the file size exceeds the `medium-file-size-limit-in-bytes`.
`max-age-in-seconds` | `30` | (optional) Specifies the maximum age of a file cache entry.
`medium-file-size-limit-in-bytes` | `537600` | (optional) Specifies the maximum size of a file that can be cached as a memory mapped file.
`medium-file-space-in-bytes` | `10485760` | (optional) Specifies the total size of all files that are cached as memory mapped files.
`small-file-size-limit-in-bytes` | `2048` | (optional) Specifies the maximum size of a file that can be read into memory.
`small-file-space-in-bytes` | `1048576` | (optional) Specifies the total size of all files that are read into memory.
`file-transmission-enabled` | `false` | (optional) If `true`, enables the use of `TransmitFileSystem` calls. Meaningful only for Windows.
`max-files-count` | `1024` | (optional) Specifies the maximum number of files in the file cache.
`hash-init-size` | `0` | (optional) Specifies the initial number of hash buckets.

## http-listener

Defines an HTTP listen socket. The connection-pool subelement of the parent http-service element also configures some listen socket settings.

### Superelements

http-service

### Subelements

The following table describes subelements for the `http-listener` element.

Table 1–59 `http-listener` Subelements

Element | Required | Description
--- | --- | ---
ssl | zero or one | Defines SSL parameters.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `http-listener` element.

Table 1–60 `http-listener` Attributes

Attribute | Default | Description
--- | --- | ---
`id` | none | The unique listener name. An `http-listener` name cannot begin with a number.
`address` | none | IP address of the listener. Can be in dotted-pair or IPv6 notation. Can be `any` (for `INADDR_ANY`) to listen on all IP addresses. Can be a hostname.
`port` | none | Port number on which the listener listens. Legal values are `1` - `65535`. On UNIX, creating sockets that listen on ports `1` - `1024` requires superuser privileges. Configuring an SSL listener to listen on port 443 is standard.
`external-port` | none | (optional) Specifies the external port on which the connection is made.
`family` | `inet` | (optional) Specifies whether the IP address is an `inet` or `ncsa` address.
`blocking-enabled` | `false` | (optional) If `true`, enables blocking on both the external and listener ports.
`acceptor-threads` | `1` | (optional) Number of acceptor threads for the listener, typically the number of processors in the machine. Legal values are `1` - `1024` .
`security-enabled` | `false` | (optional) Determines whether the listener runs SSL. To turn SSL2 or SSL3 on or off and set ciphers, use an `ssl` subelement.
`default-virtual-server` | none | References the `id` attribute of the default virtual-server for this particular listener.
`server-name` | none | Tells the server what to put in the host name section of any URLs it sends to the client. This affects URLs the server automatically generates; it doesn’t affect the URLs for directories and files stored in the server. If your server uses an alias, the `server-name` should be the alias name. If a colon and port number are appended, that port is used in URLs the server sends to the client.
`redirect-port` | none | (optional) If the listener is supporting non-SSL requests and a request is received for which a matching `<security-constraint>` requires SSL transport, the request is automatically redirected to the port number specified here.
`xpowered-by` | `true` | (optional) If true, `X-Powered-By` headers are used according to the Servlet 2.4 and JSP 2.0 specifications.
`enabled` | `true` | (optional) Determines whether the listener is active.

## http-protocol

Configures HTTP protocol settings.

### Superelements

http-service

### Subelements

none

### Attributes

The following table describes attributes for the `protocol` element.

Table 1–61 `protocol` Attributes

Attribute | Default | Description
--- | --- | ---
`version` | `HTTP/1.1` | (optional) Specifies the version of the HTTP protocol used.
`dns-lookup-enabled` | `true` | (optional) If `true`, looks up the DNS entry for the client.
`forced-response-type` | `ISO-8859-1;en;ISO-8859-1` | (optional) Specifies the response type used if no MIME mapping is available that matches the file extension. The format is a semicolon-delimited string consisting of the content-type, encoding, language, and charset.
`default-response-type` | `text/html;ISO-8859-1;en;ISO-8859-1` | (optional) Specifies the default response type. The format is a semicolon-delimited string consisting of the content-type, encoding, language, and charset.
`ssl-enabled` | `true` | (optional) If true, globally enables SSL for all http-listener subelements of the parent http-service element.

## http-service

Defines the HTTP service.

### Superelements

config

### Subelements

The following table describes subelements for the `http-service` element.

Table 1–62 `http-service` Subelements

Element | Required | Description
--- | --- | ---
access-log | zero or one | Defines access log settings for each http-access-log subelement of each virtual-server.
http-listener | one or more | Defines an HTTP listen socket.
virtual-server | one or more | Defines a virtual server.
request-processing | zero or one | Configures request processing threads.
keep-alive | zero or one | Configures keep-alive threads.
connection-pool | zero or one | Defines a pool of client HTTP connections.
http-protocol | zero or one | Configures HTTP protocol settings.
http-file-cache | zero or one | Configures the HTTP file cache.
property | zero or more | Specifies a property or a variable.

### Properties

The following table describes properties for the `http-service` element, which configure SSL for all http-listener subelements.

Table 1–63 `http-service` Properties

Property | Default | Description
--- | --- | ---
`monitoring-cache-enabled` | `true` | If `true`, enables the monitoring cache.
`monitoring-cache-refresh-in-millis` | `5000` | Specifies the interval between refreshes of the monitoring cache.
`ssl-cache-entries` | `10000` | Specifies the number of SSL sessions to be cached.
`ssl3-session-timeout` | `86400` | Specifies the interval at which SSL3 sessions are cached.
`ssl-client-auth-data-limit` | `1048576` | Specifies the maximum amount of data cached during the handshake phase.
`ssl-client-auth-timeout` | `60` | Specifies the timeout for the client certificate phase.
`ssl-session-timeout` | `100` | Specifies the interval at which SSL2 sessions are cached.
`keep-alive-query-mean-time` | `100` | Specifies the keep-alive latency.
`keep-alive-query-max-sleep-time` | `100` | Specifies the upper limit to the time slept after polling keep-alive connections for further requests.
`stack-size` | depends on operating system | Specifies the maximum stack size of the native thread.

# I

## iiop-listener

Defines an IIOP listen socket. To enable SSL for this listener, include an `ssl` subelement.

### Superelements

iiop-service

### Subelements

The following table describes subelements for the `iiop-listener` element.

Table 1–64 `iiop-listener` Subelements

Element | Required | Description
--- | --- | ---
ssl | zero or one | Defines SSL parameters.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `iiop-listener` element.

Table 1–65 `iiop-listener` Attributes

Attribute | Default | Description
--- | --- | ---
`id` | none | The listener name. An `iiop-listener` name cannot begin with a number.
`address` | none | IP address of the listener. Can be in dotted-pair or IPv6 notation, or just a name.
`port` | `1072` | (optional) Port number for the listener. Legal values are `1` - `65535`. On UNIX, creating sockets that listen on ports `1` - `1024` requires superuser privileges.
`security-enabled` | `false` | (optional) Determines whether the listener runs SSL. To turn SSL2 or SSL3 on or off and set ciphers, use an `ssl` element.
`enabled` | `true` | (optional) Determines whether the listener is active.

## iiop-service

Defines the IIOP service.

### Superelements

config

### Subelements

The following table describes subelements for the `iiop-service` element.

Table 1–66 `iiop-service` Subelements

Element | Required | Description
--- | --- | ---
orb | only one | Configures the ORB.
ssl-client-config | zero or one | Defines SSL parameters for the ORB.
iiop-listener | zero or more | Defines an IIOP listen socket.

### Attributes

The following table describes attributes for the `iiop-service` element.

Table 1–67 `iiop-service` Attributes

Attribute | Default | Description
--- | --- | ---
`client-authentication-required` | `false` | (optional) If `true`, the server rejects unauthenticated requests and inserts an authentication-required bit in IORs sent to clients.

# J

## j2ee-application

Specifies a deployed J2EE application.

### Superelements

applications

### Subelements

The following table describes subelements for the `j2ee-application` element.

Table 1–68 `j2ee-application` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `j2ee-application` element.

Table 1–69 `j2ee-application` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | The name of the application.
`location` | none | The location of the application in the Application Server file system.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether the application is enabled.
`availability-enabled` | `false` | (optional) Specifies whether availability is enabled in this J2EE application for HTTP session persistence and SFSB checkpointing (and potentially passivation). Availability must also be enabled for the application during deployment. For more information about availability, see availability-service.
`directory-deployed` | `false` | (optional) Specifies whether the application has been deployed to a directory.

## jacc-provider

Specifies a Java Authorization Contract for Containers (JACC) provider for pluggable authorization.

### Superelements

security-service

### Subelements

The following table describes subelements for the `jacc-provider` element.

Table 1–70 `jacc-provider` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `jacc-provider` element.

Table 1–71 `jacc-provider` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | `default` | Specifies the name of the JACC provider.
`policy-provider` | none | Corresponds to and can be overridden by the system property `javax.security.jacc.policy.provider` .
`policy-configuration-factory-provider` | none | Corresponds to and can be overridden by the system property `javax.security.jacc.PolicyConfigurationFactory.provider` .

## java-config

Specifies Java Virtual Machine (JVM) configuration parameters.

### Superelements

config

### Subelements

The following table describes subelements for the `java-config` element.

Table 1–72 `java-config` Subelements

Element | Required | Description
--- | --- | ---
profiler | zero or one | Configures a profiler for use with the Application Server.
jvm-options | zero or more | Contains JVM command line options.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `java-config` element.

Table 1–73 `java-config` Attributes

Attribute | Default | Description
--- | --- | ---
`java-home` | none | The path to the directory where the JDK is installed.
`debug-enabled` | `false` | (optional) If `true`, the server starts up in debug mode ready for attachment with a JPDA-based debugger.
`debug-options` | `-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n` | (optional) Specifies JPDA (Java Platform Debugger Architecture) options. A list of debugging options is available at http://java.sun.com/products/jpda/doc/conninv.html#Invocation. For more information about debugging, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.
`rmic-options` | `-iiop` `-poa` `-alwaysgenerate` `-keepgenerated -g` | (optional) Specifies options passed to the RMI compiler at application deployment time. The `-keepgenerated` option saves generated source for stubs and ties.
`javac-options` | `-g` | (optional) Specifies options passed to the Java compiler at application deployment time.
`classpath-prefix` | none | (optional) Specifies a prefix for the system classpath. Only prefix the system classpath to override system classes, such as the XML parser classes. Use this attribute with caution.
`classpath-suffix` | none | (optional) Specifies a suffix for the system classpath.
`server-classpath` | none | (optional) Specifies the classpath for the environment from which the server was started. This classpath can be accessed using `System.getProperty("java.class.path")` .
`native-library-path-prefix` | none | (optional) Specifies a prefix for the native library path. The native library path is the automatically constructed concatenation of the Application Server installation relative path for its native shared libraries, the standard JRE native library path, the shell environment setting (`LD_LIBRARY_PATH` on UNIX), and any path specified in the `profiler` element. Since this is synthesized, it does not appear explicitly in the server configuration.
`native-library-path-suffix` | none | (optional) Specifies a suffix for the native library path.
`bytecode-preprocessors` | none | (optional) A comma separated list of class names, each of which must implement the `com.sun.appserv.BytecodePreprocessor` interface. Each of the specified preprocessor classes is called in the order specified.
`env-classpath-ignored` | `true` | (optional) If `false`, the `CLASSPATH` environment variable is read and appended to the Application Server classpath. The `CLASSPATH` environment variable is added after the `classpath-suffix`, at the very end. For a development environment, this value should be set to `false`. To prevent environment variable side effects in a production environment, set this value to `true`.

## jdbc-connection-pool

Defines the properties that are required for creating a JDBC connection pool.

### Superelements

resources

### Subelements

The following table describes subelements for the `jdbc-connection-pool` element.

Table 1–74 `jdbc-connection-pool` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `jdbc-connection-pool` element.

Table 1–75 `jdbc-connection-pool` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the connection pool. A jdbc-resource element’s `pool-name` attribute refers to this `name`.
`datasource-classname` | none | Specifies the class name of the associated vendor-supplied data source. This class must implement `java.sql.DataSource`, `java.sql.XADataSource` , `javax.sql.ConnectionPoolDatasource`, or a combination.
`res-type` | `javax.sql. DataSource` | (optional) Specifies the interface the data source class implements. The value of this attribute can be `javax.sql.DataSource`, `javax.sql.XADataSource` , or `javax.sql.ConnectionPoolDatasource`. If the value is not one of these interfaces, the default is used. An error occurs if this attribute has a legal value and the indicated interface is not implemented by the data source class.
`steady-pool-size` | `8` | (optional) Specifies the initial and minimum number of connections maintained in the pool.
`max-pool-size` | `32` | (optional) Specifies the maximum number of connections that can be created to satisfy client requests.
`max-wait-time-in-millis` | `60000` | (optional) Specifies the amount of time, in milliseconds, that the caller is willing to wait for a connection. If `0`, the caller is blocked indefinitely until a resource is available or an error occurs.
`pool-resize-quantity` | `2` | (optional) Specifies the number of connections to be destroyed if the existing number of connections is above the `steady-pool-size` (subject to the `max-pool-size` limit). This is enforced periodically at the `idle-time-out-in-seconds` interval. An idle connection is one that has not been used for a period of `idle-time-out-in-seconds` .
`idle-timeout-in-seconds` | `300` | (optional) Specifies the maximum time that a connection can remain idle in the pool. After this amount of time, the pool can close this connection.
`transaction-isolation-level` | default JDBC driver isolation level | (optional) Specifies the transaction isolation level on the pooled database connections. Allowed values are `read-uncommitted`, `read-committed` , `repeatable-read`, or `serializable`. Applications that change the isolation level on a pooled connection programmatically risk polluting the pool, which can lead to errors. See `is-isolation-level-guaranteed` for more details.
`is-isolation-level-guaranteed` | `true` | (optional) Applicable only when `transaction-isolation-level` is explicitly set. If `true`, every connection obtained from the pool is guaranteed to have the desired isolation level. This might impact performance on some JDBC drivers. Only set this attribute to `false` if you are certain that the hosted applications do not return connections with altered isolation levels.
`is-connection-validation-required` | `false` | (optional) Specifies whether connections have to be validated before being given to the application. If a resource’s validation fails, it is destroyed, and a new resource is created and returned.
`connection-validation-method` | `auto-commit` | (optional) Legal values are as follows: `auto-commit` (default), which uses `Connection.setAutoCommit(Connection.getAutoCommit())` `meta-data`, which uses `Connection.getMetaData()` `table`, which performs a query on a table specified in the `validation-table-name` attribute
`validation-table-name` | none | (optional) Specifies the table name to be used to perform a query to validate a connection. This parameter is mandatory if and only if `connection-validation-type` is set to `table`.
`fail-all-connections` | `false` | (optional) If `true`, closes all connections in the pool if a single validation check fails. This parameter is mandatory if and only if `is-connection-validation-required` is set to `true`.

### Properties

Most JDBC 3.0 drivers allow use of standard property lists to specify the user, password, and other resource configuration information. Although properties are optional with respect to the Application Server, some properties might be necessary for most databases. For details, see the JDBC 3.0 Standard Extension API.

When properties are specified, they are passed to the vendor’s data source class (specified by the `datasource-classname` attribute) as is using setName(value) methods.

The `user` and `password` properties are used as the default principal if container managed authentication is specified and a `default-resource-principal` is not found in the application deployment descriptors.

The following table describes some common properties for the `jdbc-connection-pool` element.

Table 1–76 `jdbc-connection-pool` Properties

Property | Description
--- | ---
`user` | Specifies the user name for this connection pool.
`password` | Specifies the password for this connection pool.
`databaseName` | Specifies the database for this connection pool.
`serverName` | Specifies the database server for this connection pool.
`port` | Specifies the port on which the database server listens for requests.
`networkProtocol` | Specifies the communication protocol.
`roleName` | Specifies the initial SQL role name.
`datasourceName` | Specifies an underlying `XADataSource`, or a `ConnectionPoolDataSource` if connection pooling is done.
`description` | Specifies a text description.
`url` | Specifies the URL for this connection pool. Although this is not a standard property, it is commonly used.

## jdbc-resource

Defines a JDBC (`javax.sql.DataSource`) resource.

### Superelements

resources

### Subelements

The following table describes subelements for the `jdbc-resource` element.

Table 1–77 `jdbc-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `jdbc-resource` element.

Table 1–78 `jdbc-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`pool-name` | none | Specifies the `name` of the associated jdbc-connection-pool.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

## jms-host

Configures the host of the built-in Java Message Service (JMS) that is managed by the Application Server.

### Superelements

jms-service

### Subelements

The following table describes subelements for the `jms-host` element.

Table 1–79 `jms-host` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `jms-host` element.

Table 1–80 `jms-host` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the JMS host.
`host` | machine-name | (optional) Specifies the host name of the JMS host.
`port` | `7676` | (optional) Specifies the port number used by the JMS provider.
`admin-user-name` | `admin` | (optional) Specifies the administrator user name for the JMS provider.
`admin-password` | `admin` | (optional) Specifies the administrator password for the JMS provider.

## jms-service

Configures the built-in Java Message Service (JMS) that is managed by the Application Server.

### Superelements

config

### Subelements

The following table describes subelements for the `jms-service` element.

Table 1–81 `jms-service` Subelements

Element | Required | Description
--- | --- | ---
jms-host | zero or more | Specifies a host.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `jms-service` element.

Table 1–82 `jms-service` Attributes

Attribute | Default | Description
--- | --- | ---
`init-timeout-in-seconds` | `60` | (optional) Specifies the amount of time the server instance waits at startup for its configured default JMS host to respond. If there is no response, startup is aborted. If set to `0`, the server instance waits indefinitely.
`type` | `LOCAL` | (optional) Specifies the type of JMS service: `LOCAL` means the JMS provider is started along with the Application Server `REMOTE` means the JMS provider is remote and is not started by the Application Server
`start-args` | none | (optional) Specifies the string of arguments supplied for startup of the corresponding JMS instance.
`default-jms-host` | none | Specifies the name of the default jms-host. If `type` is set to `LOCAL`, this `jms-host` is automatically started at Application Server startup.
`reconnect-interval-in-seconds` | `60` | (optional) Specifies the interval between reconnect attempts.
`reconnect-attempts` | `3` | (optional) Specifies the number of reconnect attempts.
`reconnect-enabled` | `true` | (optional) If `true`, reconnection is enabled. The JMS service automatically tries to reconnect to the JMS provider when the connection is broken. When the connection is broken, depending on the message processing stage, the `onMessage()` method might not be able to complete successfully or the transaction might be rolled back due to a JMS exception. When the JMS service reestablishes the connection, JMS message redelivery semantics apply.
`addresslist-behavior` | `random` | (optional) Specifies whether the reconnection logic selects the broker from the `imqAddressList` in a `random` or sequential (`priority`) fashion.
`addresslist-iterations` | `3` | (optional) Specifies the number of times the reconnection logic iterates over the `imqAddressList` if `addresslist-behavior` is set to `PRIORITY`.
`mq-scheme` | `mq` | (optional) Specifies the scheme for establishing connection with the broker. For example, specify `http` for connecting to the broker over HTTP.
`mq-service` | `jms` | (optional) Specifies the type of broker service. If a broker supports SSL, the type of service can be `ssljms`.

### Properties

The following table describes properties for the `jms-service` element.

Table 1–83 `jms-service` Properties

Property | Default | Description
--- | --- | ---
`instance-name` | `imqbroker` | Specifies the full Sun Java System Message Queue broker instance name.
`instance-name-suffix` | none | Specifies a suffix to add to the full Sun Java System Message Queue broker instance name. The suffix is separated from the instance name by an underscore character (`_`). For example, if the instance name is `imqbroker`, appending the suffix `xyz` changes the instance name to `imqbroker` `_xyz`.
`append-version` | `false` | If `true`, appends the major and minor version numbers, preceded by underscore characters (`_`), to the full Sun Java System Message Queue broker instance name. For example, if the instance name is `imqbroker` , appending the version numbers changes the instance name to `imqbroker` `_8_0`.

## jmx-connector

Configures a JSR 160 compliant remote JMX connector, which handles communication between the domain administration server and the node agents for remote server instances.

### Superelements

admin-service, node-agent

### Subelements

The following table describes subelements for the `jmx-connector` element.

Table 1–84 `jmx-connector` Subelements

Element | Required | Description
--- | --- | ---
ssl | zero or one | Defines SSL parameters.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `jmx-connector` element.

Table 1–85 `jmx-connector` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the JMX connector name.
`protocol` | `rmi_jrmp` | (optional) Specifies the protocol that this JMX connector supports.
`address` | none | Specifies the IP address of the JMX connector. Can be in dotted-pair or IPv6 notation. Can be `any` (for `INADDR_ANY`) to listen on all IP addresses. Can be a hostname.
`port` | none | Specifies the port number on which the JMX connector listens. Legal values are `1` - `65535`. On UNIX, creating sockets that listen on ports `1` - `1024` requires superuser privileges. Configuring an SSL-enabled JMX connector to listen on port 443 is standard.
`auth-realm-name` | none | Specifies the `name` of the auth-realm subelement of the parent node-agent element that represents the special administrative realm. This realm handles all authentication for the Administration Console and the `asadmin` command.
`security-enabled` | `true` | (optional) Determines whether the JMX connector runs SSL. To turn SSL2 or SSL3 on or off and set ciphers, use an `ssl` subelement.

## jvm-options

Contains JVM command line options, for example:

    <jvm-options>-Xdebug -Xmx128m</jvm-options>

For information about JVM options, see `http://java.sun.com/docs/hotspot/VMOptions.html`.

### Superelements

java-config, profiler

### Subelements

none - contains data

# K

## keep-alive

Configures keep-alive threads.

### Superelements

http-service

### Subelements

none

### Attributes

The following table describes attributes for the `keep-alive` element.

Table 1–86 `keep-alive` Attributes

Attribute | Default | Description
--- | --- | ---
`thread-count` | `1` | (optional) Specifies the number of keep-alive threads.
`max-connections` | `256` | (optional) Specifies the maximum number of keep-alive connections.
`timeout-in-seconds` | `30` | (optional) Specifies the maximum time for which a keep alive connection is kept open.

# L

## lb-config

Defines a load balancer configuration.

### Superelements

lb-configs

### Subelements

The following table describes subelements for the `lb-config` element.

Table 1–87 `lb-config` Subelements

Element | Required | Description
--- | --- | ---
cluster-ref | zero or more; zero if a `server-ref` is defined | References a cluster.
server-ref | zero or more; zero if a `cluster-ref` is defined | References a server instance that does not belong to a cluster.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `lb-config` element.

Table 1–88 `lb-config` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the load balancer configuration.
`response-timeout-in-seconds` | `60` | (optional) Specifies the time within which a server must return a response or it is considered unhealthy.
`https-routing` | `false` | (optional) If `true`, HTTPS requests to the load balancer result in HTTPS requests to the server. If `false`, HTTPS requests to the load balancer result in HTTP requests to the server.
`reload-poll-interval-in-seconds` | `60` | (optional) Specifies the interval between checks for changes to the load balancer configuration file (`loadbalancer.xml`). When changes are detected, the file is reloaded. A value of zero disables reloading.
`monitoring-enabled` | `false` | (optional) If `true`, enables monitoring of load balancing.

## lb-configs

Contains load balancer configurations.

### Superelements

domain

### Subelements

The following table describes subelements for the `lb-configs` element.

Table 1–89 `lb-configs` Subelements

Element | Required | Description
--- | --- | ---
lb-config | zero or more | Defines a load balancer configuration.

## lifecycle-module

Specifies a deployed lifecycle module. For more information about lifecycle modules, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.

### Superelements

applications

### Subelements

The following table describes subelements for the `lifecycle-module` element.

Table 1–90 `lifecycle-module` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `lifecycle-module` element.

Table 1–91 `lifecycle-module` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | The name of the lifecycle module.
`class-name` | none | The fully qualified name of the lifecycle module’s class file, which must implement the `com.sun.appserv.server.LifecycleListener` interface.
`classpath` | value of `application-root` attribute of server element | (optional) The classpath for the lifecycle module. Specifies where the module is located.
`load-order` | none | (optional) Determines the order in which lifecycle modules are loaded at startup. Modules with smaller integer values are loaded sooner. Values can range from `101` to the operating system’s `MAXINT`. Values from `1` to `100` are reserved.
`is-failure-fatal` | `false` | (optional) Determines whether the server is shut down if the lifecycle module fails.
`enabled` | `true` | (optional) Determines whether the lifecycle module is enabled.

## listener-config

Configures the listener class that listens for alerts from notification emitters. For example:

    <listener-config
        listener-class-name="com.sun.enterprise.admin.notification.MailAlert"
        subcribe-listener-with="LogMBean,ServerStatusMonitor" >
        <property name="recipients" value="Huey@sun.com,Dewey@sun.com" />
        <property name="fromAddress" value="Louie@sun.com" />
        <property name="subject" value="Help!" />
        <property name="includeDiagnostics" value="false" />
        <property name="mailSMTPHost" value="ducks.sun.com" />
    </listener-config>

### Superelements

alert-subscription

### Subelements

The following table describes subelements for the `listener-config` element.

Table 1–92 `listener-config` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `listener-config` element.

Table 1–93 `listener-config` Attributes

Attribute | Default | Description
--- | --- | ---
`listener-class-name` | none | Specifies the class name of the listener. The `com.sun.appserv.admin.notification.MailAlert` class is provided with the Application Server, but a custom listener can be used.
`subscribe-listener-with` | none | Specifies a comma-separated list of notification emitters to which the listener listens. The `LogMBean` and `ServerStatusMonitor` notification emitters are provided with the Application Server, but custom emitters can be used.

## log-service

Configures the server log file, which stores messages from the default virtual server. Messages from other configured virtual servers also go here, unless the `log-file` attribute is explicitly specified in the `virtual-server` element. The default name is `server.log`.

Other log files are configured by other elements:

- A virtual server log file stores messages from a `virtual-server` element that has an explicitly specified `log-file` attribute. See virtual-server.

- The access log file stores HTTP access messages from the default virtual server. The default name is `access.log`. See access-log and http-access-log.

- The transaction log files store transaction messages from the default virtual server. The default name of the directory for these files is `tx`. See transaction-service.

### Superelements

config, node-agent

### Subelements

The following table describes subelements for the `log-service` element.

Table 1–94 `log-service` Subelements

Element | Required | Description
--- | --- | ---
module-log-levels | zero or one | Specifies log levels.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `log-service` element.

Table 1–95 `log-service` Attributes

Attribute | Default | Description
--- | --- | ---
`file` | `server.log` in the directory specified by the `log-root` attribute of the domain element | (optional) Overrides the name or location of the server log. The file and directory in which the server log is kept must be writable by the user account under which the server runs. An absolute path overrides the `log-root` attribute of the domain element. A relative path is relative to the `log-root` attribute of the domain element. If no `log-root` value is specified, it is relative to domain-dir`/config` .
`use-system-logging` | `false` | (optional) If `true`, uses the UNIX `syslog` service to produce and manage logs.
`log-handler` | none | (optional) Specifies a custom log handler to be added to end of the chain of system handlers to log to a different destination.
`log-filter` | none | (optional) Specifies a log filter to do custom filtering of log records.
`log-to-console` | `false` | (optional) Deprecated and ignored.
`log-rotation-limit-in-bytes` | `2000000` | (optional) Log files are rotated when the file size reaches the specified limit.
`log-rotation-timelimit-in-minutes` | `0` | (optional) Enables time-based log rotation. The valid range is `60` minutes (1 hour) to `14400` minutes (10*24*60 minutes or 10 days). If the value is zero, the files are rotated based on the size specified in `log-rotation-limit-in-bytes`. If the value is greater than zero, `log-rotation-timelimit-in-minutes` takes precedence over `log-rotation-limit-in-bytes` .
`alarms` | `false` | (optional) Deprecated and ignored.

# M

## mail-resource

Defines a JavaMail (`javax.mail.Session`) resource.

### Superelements

resources

### Subelements

The following table describes subelements for the `mail-resource` element.

Table 1–96 `mail-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `mail-resource` element.

Table 1–97 `mail-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`store-protocol` | `imap` | (optional) Specifies the storage protocol service, which connects to a mail server, retrieves messages, and saves messages in folder(s). Allowed values are `imap`, `pop3`, `imaps`, and `pop3s` .
`store-protocol-class` | `com.sun.mail.imap.IMAPStore` | (optional) Specifies the service provider implementation class for storage. Allowed values are:
    com.sun.mail.imap.IMAPStore
    com.sun.mail.pop3.POP3Store
    com.sun.mail.imap.IMAPSSLStore
    com.sun.mail.pop3.POP3SSLStore
`transport-protocol` | `smtp` | (optional) Specifies the transport protocol service, which sends messages. Allowed values are `smtp` and `smtps`.
`transport-protocol-class` | `com.sun.mail.smtp.SMTPTransport` | (optional) Specifies the service provider implementation class for transport. Allowed values are:
    com.sun.mail.smtp.SMTPTransport
    com.sun.mail.smtp.SMTPSSLTransport
`host` | none | The mail server host name.
`user` | none | The mail server user name.
`from` | none | The email address the mail server uses to indicate the message sender.
`debug` | `false` | (optional) Determines whether debugging for this resource is enabled.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

### Properties

You can set properties for the `mail-resource` element and then get these properties in a JavaMail `Session` object later. Every property name must start with a `mail-` prefix. The Application Server changes the dash (`-`) character to a period (`.`) in the name of the property, then saves the property to the `MailConfiguration` and JavaMail `Session` objects. If the name of the property doesn’t start with `mail-`, the property is ignored.

For example, to define the property `mail.password` in a JavaMail Session object, first edit `domain.xml` as follows:

    ...
     <mail-resource jndi-name="mail/Session" ...>
         <property name="mail-password" value="adminadmin"/>
     </mail-resource>
     ...

After getting the JavaMail `Session` object, get the `mail.password` property to retrieve the value `adminadmin`, as follows:

    String password = session.getProperty("mail.password");

## manager-properties

Specifies session manager properties.

### Superelements

session-manager

### Subelements

The following table describes subelements for the `manager-properties` element.

Table 1–98 `manager-properties` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `manager-properties` element.

Table 1–99 `manager-properties` Attributes

Attribute | Default | Description
--- | --- | ---
`session-file-name` | none; state is not preserved across restarts | (optional) Specifies the absolute or relative path to the directory in which the session state is preserved between application restarts, if preserving the state is possible. A relative path is relative to the temporary directory for this web application. Applicable only if the `persistence-type` attribute of the web-container-availability element is `memory`.
`reap-interval-in-seconds` | `60` | (optional) Specifies the time between checks for expired sessions. If the `persistence-type` attribute of the web-container-availability element is `file` or `ha`, sessions are passivated if `max-sessions` has been exceeded. If the `persistence-frequency` attribute of the web-container-availability element is set to `time-based`, active sessions are stored at this interval. Set this value lower than the frequency at which session data changes. For example, this value should be as low as possible (`1` second) for a hit counter servlet on a frequently accessed web site, or you could lose the last few hits each time you restart the server.
`max-sessions` | `-1` | (optional) Specifies the maximum number of sessions that can be in cache, or `-1` for no limit. After this, an attempt to create a new session causes an `IllegalStateException` to be thrown.If the `persistence-type` attribute of the web-container-availability element is `file` or `ha`, the session manager passivates sessions to the persistent store when this maximum is reached.
`session-id-generator-classname` | internal class generator | (optional) Specifies the name of the class that generates session IDs.

## mdb-container

Configures the message-driven bean (MDB) container.

### Superelements

config

### Subelements

The following table describes subelements for the `mdb-container` element.

Table 1–100 `mdb-container` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `mdb-container` element.

Table 1–101 `mdb-container` Attributes

Attribute | Default | Description
--- | --- | ---
`steady-pool-size` | `10` | (optional) Specifies the initial and minimum number of beans maintained in the pool.
`pool-resize-quantity` | `2` | (optional) Specifies the number of beans to be created if a request arrives when the pool is empty (subject to the `max-pool-size` limit), or the number of beans to remove if idle for more than `idle-timeout-in-seconds` .
`max-pool-size` | `60` | (optional) Specifies the maximum number of beans that can be created to satisfy client requests.
`idle-timeout-in-seconds` | `600` | (optional) Specifies the maximum time that a bean can remain idle in the pool. After this amount of time, the bean is destroyed. A value of `0` means a bean can remain idle indefinitely.

### Properties

The following table describes properties for the `mdb-container` element.

Table 1–102 `mdb-container` Properties

Property | Default | Description
--- | --- | ---
`cmt-max-runtime-exceptions` | `1` | Specifies the maximum number of `RuntimeException` occurrences allowed from a message-driven bean’s `onMessage()` method when container-managed transactions are used. Deprecated.

## message-security-config

Specifies configurations for message security providers.

### Superelements

security-service

### Subelements

The following table describes subelements for the `message-security-config` element.

Table 1–103 `message-security-config` Subelements

Element | Required | Description
--- | --- | ---
provider-config | one or more | Specifies a configuration for one message security provider.

### Attributes

The following table describes attributes for the `message-security-config` element.

Table 1–104 `message-security-config` Attributes

Attribute | Default | Description
--- | --- | ---
`auth-layer` | none | Specifies the message layer at which authentication is performed. The value must be `SOAP`.
`default-provider` | none | (optional) Specifies the server provider that is invoked for any application not bound to a specific server provider.
`default-client-provider` | none | (optional) Specifies the client provider that is invoked for any application not bound to a specific client provider.

## module-log-levels

Controls the level of messages logged by server subsystems to the server log. Allowed values of each subsystem attribute are, from highest to lowest: `FINEST` , `FINER`, `FINE`, `CONFIG`, `INFO`, `WARNING`, `SEVERE`, and `OFF`. Each value logs all messages for all lower values. The default value is `INFO`, which logs all `INFO`, `SEVERE` , and `WARNING` messages.

### Superelements

log-service

### Subelements

The following table describes subelements for the `module-log-levels` element.

Table 1–105 `module-log-levels` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `module-log-levels` element.

Table 1–106 `module-log-levels` Attributes

Attribute | Default | Description
--- | --- | ---
`root` | `INFO` | (optional) Specifies the default level of messages logged by the entire Application Server installation.
`server` | `INFO` | (optional) Specifies the default level of messages logged by the server instance.
`ejb-container` | `INFO` | (optional) Specifies the level of messages logged by the EJB container.
`cmp-container` | `INFO` | (optional) Specifies the level of messages logged by the CMP subsystem of the EJB container.
`mdb-container` | `INFO` | (optional) Specifies the level of messages logged by the MDB container.
`web-container` | `INFO` | (optional) Specifies the level of messages logged by the web container.
`classloader` | `INFO` | (optional) Specifies the level of messages logged by the classloader hierarchy.
`configuration` | `INFO` | (optional) Specifies the level of messages logged by the configuration subsystem.
`naming` | `INFO` | (optional) Specifies the level of messages logged by the naming subsystem.
`security` | `INFO` | (optional) Specifies the level of messages logged by the security subsystem.
`jts` | `INFO` | (optional) Specifies the level of messages logged by the Java Transaction Service.
`jta` | `INFO` | (optional) Specifies the level of messages logged by the Java Transaction API.
`admin` | `INFO` | (optional) Specifies the level of messages logged by the Administration Console subsystem.
`deployment` | `INFO` | (optional) Specifies the level of messages logged by the deployment subsystem.
`verifier` | `INFO` | (optional) Specifies the level of messages logged by the deployment descriptor verifier.
`jaxr` | `INFO` | (optional) Specifies the level of messages logged by the XML registry.
`jaxrpc` | `INFO` | (optional) Specifies the level of messages logged by the XML RPC module.
`saaj` | `INFO` | (optional) Specifies the level of messages logged by the SOAP with Attachments API for Java module.
`corba` | `INFO` | (optional) Specifies the level of messages logged by the ORB.
`javamail` | `INFO` | (optional) Specifies the level of messages logged by the JavaMail subsystem.
`jms` | `INFO` | (optional) Specifies the level of messages logged by the Java Message Service.
`connector` | `INFO` | (optional) Specifies the level of messages logged by the connector subsystem.
`jdo` | `INFO` | (optional) Specifies the level of messages logged by the Java Data Objects module.
`cmp` | `INFO` | (optional) Specifies the level of messages logged by the CMP subsystem.
`util` | `INFO` | (optional) Specifies the level of messages logged by the utility subsystem.
`resource-adapter` | `INFO` | (optional) Specifies the level of messages logged by the resource adapter subsystem.
`synchronization` | `INFO` | (optional) Specifies the level of messages logged by the synchronization subsystem.
`node-agent` | `INFO` | (optional) Specifies the level of messages logged by the node agent subsystem.

## module-monitoring-levels

Controls the level of monitoring of server subsystems. Allowed values of each subsystem attribute are `LOW`, `HIGH``,` and `OFF`.

### Superelements

monitoring-service

### Subelements

The following table describes subelements for the `module-monitoring-levels` element.

Table 1–107 `module-monitoring-levels` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

Table 1–108 `module-monitoring-levels` Attributes

Attribute | Default | Description
--- | --- | ---
`thread-pool` | `OFF` | (optional) Specifies the level of monitoring of the thread pool subsystem.
`orb` | `OFF` | (optional) Specifies the level of monitoring of the ORB.
`ejb-container` | `OFF` | (optional) Specifies the level of monitoring of the EJB container.
`web-container` | `OFF` | (optional) Specifies the level of monitoring of the web container.
`transaction-service` | `OFF` | (optional) Specifies the level of monitoring of the transaction service.
`http-service` | `OFF` | (optional) Specifies the level of monitoring of the HTTP service.
`jdbc-connection-pool` | `OFF` | (optional) Specifies the level of monitoring of the JDBC connection pool subsystem.
`connector-connection-pool` | `OFF` | (optional) Specifies the level of monitoring of the connector connection pool subsystem.
`connector-service` | `OFF` | (optional) Specifies the level of monitoring of the connector service.
`jms-service` | `OFF` | (optional) Specifies the level of monitoring of the JMS service.
`jvm` | `OFF` | (optional) Specifies the level of monitoring of the JVM.

## monitoring-service

Configures the monitoring service.

### Superelements

config

### Subelements

The following table describes subelements for the `monitoring-service` element.

Table 1–109 `monitoring-service` Subelements

Element | Required | Description
--- | --- | ---
module-monitoring-levels | zero or one | Controls the level of monitoring of server subsystems.
property | zero or more | Specifies a property or a variable.

# N

## node-agent

Defines a node agent, which manages server instances on a host machine.

### Superelements

node-agents

### Subelements

The following table describes subelements for the `node-agent` element.

Table 1–110 `node-agent` Subelements

Element | Required | Description
--- | --- | ---
jmx-connector | zero or one | Configures a JSR 160 compliant remote JMX connector.
auth-realm | zero or one | Defines a realm for authentication.
log-service | only one | Configures the system logging service.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `node-agent` element.

Table 1–111 `node-agent` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the node agent name.
`system-jmx-connector-name` | none | Specifies the name of the internal jmx-connector.
`start-servers-in-startup` | `true` | (optional) If `true`, starts all managed server instances when the node agent is started.

### Properties

The following table describes properties for the `node-agent` element.

Table 1–112 `node-agent` Properties

Property | Default | Description
--- | --- | ---
`INSTANCE-SYNC-JVM-OPTIONS` | default Application Server JVM options | Sets options for the server instance synchronization JVM. Setting options that limit memory usage helps prevent `OutOfMemory` errors when large applications are synchronized or when memory is constrained. For more information, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Administration Guide.

## node-agents

Contains node agents.

### Superelements

domain

### Subelements

The following table describes subelements for the `node-agents` element.

Table 1–113 `node-agents` Subelements

Element | Required | Description
--- | --- | ---
node-agent | zero or more | Defines a node agent, which manages server instances on a host machine.

# O

## orb

Configures the ORB.

To enable SSL for outbound connections, include an ssl-client-config subelement in the parent `iiop-service` element.

### Superelements

iiop-service

### Subelements

The following table describes subelements for the `orb` element.

Table 1–114 `orb` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `orb` element.

Table 1–115 `orb` Attributes

Attribute | Default | Description
--- | --- | ---
`use-thread-pool-ids` | none | Specifies a comma-separated list of `thread-pool-id` values defined in thread-pool elements used by the ORB.
`message-fragment-size` | `1024` | (optional) GIOPv1.2 messages larger than this number of bytes are fragmented.
`max-connections` | `1024` | (optional) The maximum number of incoming connections on all IIOP listeners. Legal values are integers.

# P

## persistence-manager-factory-resource

Defines a persistence manager factory resource for container-managed persistence (CMP).

### Superelements

resources

### Subelements

The following table describes subelements for the `persistence-manager-factory-resource` element.

Table 1–116 `persistence-manager-factory-resource` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `persistence-manager-factory-resource` element.

Table 1–117 `persistence-manager-factory-resource` Attributes

Attribute | Default | Description
--- | --- | ---
`jndi-name` | none | Specifies the JNDI name for the resource.
`factory-class` | `com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl` | (optional) Deprecated. Do not specify this attribute for the built-in CMP implementation.
`jdbc-resource-jndi-name` | none | Specifies the jdbc-resource from which database connections are obtained. Must be the `jndi-name` of an existing `jdbc-resource`.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether this resource is enabled at runtime.

## principal

Contains the principal of the servlet or EJB client.

### Superelements

security-map

### Subelements

none - contains data

## profiler

Configures a profiler for use with the Application Server. For more information about profilers, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.

### Superelements

java-config

### Subelements

The following table describes subelements for the `profiler` element.

Table 1–118 `profiler` Subelements

Element | Required | Description
--- | --- | ---
jvm-options | zero or more | Contains profiler-specific JVM command line options.
property | zero or more | Specifies a property or a variable.

Note –

Subelements of a `profiler` element can occur in any order.

### Attributes

The following table describes attributes for the `profiler` element.

Table 1–119 `profiler` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the profiler.
`classpath` | none | (optional) Specifies the classpath for the profiler.
`native-library-path` | none | (optional) Specifies the native library path for the profiler.
enabled | `true` | (optional) Determines whether the profiler is enabled.

## property

Specifies a property. A property adds configuration information to its parent element that is one or both of the following:

- Optional with respect to the Application Server

- Needed by a system or object that the Application Server doesn’t have knowledge of, such as an LDAP server or a Java class

  For example, an `auth-realm` element can include `property` subelements:

      <auth-realm name="file"
           classname="com.sun.enterprise.security.auth.realm.file.FileRealm">
           <property name="file" value="domain-dir/config/keyfile"/>
           <property name="jaas-context" value="fileRealm"/>
       </auth-realm>

  Which properties an `auth-realm` element uses depends on the value of the `auth-realm` element’s `name` attribute. The `file` realm uses `file` and `jaas-context` properties. Other realms use different properties.

### Superelements

admin-object-resource, admin-service, alert-service, audit-module, auth-realm, availability-service, cluster, config, connector-connection-pool, connector-resource, custom-resource, das-config, domain, ejb-container, ejb-container-availability, ejb-timer-service, external-jndi-resource, filter-config, http-listener, http-service, iiop-listener, jacc-provider, java-config, jdbc-connection-pool, jdbc-resource, jms-host, jms-service, jmx-connector, lb-config, lifecycle-module, listener-config, log-service, mail-resource, manager-properties, mdb-container, module-log-levels, module-monitoring-levels, monitoring-service, node-agent, orb, persistence-manager-factory-resource, profiler, provider-config, resource-adapter-config, security-service, server, session-properties, store-properties, transaction-service, virtual-server, web-container, web-container-availability

### Subelements

The following table describes subelements for the `property` element.

Table 1–120 `property` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `property` element.

Table 1–121 `property` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the property or variable.
`value` | none | Specifies the value of the property or variable.

## provider-config

Specifies a configuration for one message security provider.

Although the `request-policy` and `response-policy` subelements are optional, the `provider-config` element does nothing if they are not specified.

Use property subelements to configure provider-specific properties. Property values are passed to the provider when its `initialize` method is called.

### Superelements

message-security-config

### Subelements

The following table describes subelements for the `provider-config` element.

Table 1–122 `provider-config` Subelements

Element | Required | Description
--- | --- | ---
request-policy | zero or one | Defines the authentication policy requirements of the authentication provider’s request processing.
response-policy | zero or one | Defines the authentication policy requirements of the authentication provider’s response processing.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `provider-config` element.

Table 1–123 `provider-config` Attributes

Attribute | Default | Description
--- | --- | ---
`provider-id` | none | Specifies the provider ID.
`provider-type` | none | Specifies whether the provider is a `client`, `server` , or `client-server` authentication provider.
`class-name` | none | Specifies the Java implementation class of the provider. Client authentication providers must implement the `com.sun.enterprise.security.jauth.ClientAuthModule` interface. Server authentication providers must implement the `com.sun.enterprise.security.jauth.ServerAuthModule` interface. Client-server providers must implement both interfaces.

# R

## request-policy

Defines the authentication policy requirements of the authentication provider’s request processing.

### Superelements

provider-config

### Subelements

none

### Attributes

The following table describes attributes for the `request-policy` element.

Table 1–124 `request-policy` Attributes

Attribute | Default | Description
--- | --- | ---
`auth-source` | none | Specifies the type of required authentication, either `sender` (user name and password) or `content` (digital signature).
`auth-recipient` | none | Specifies whether recipient authentication occurs before or after content authentication. Allowed values are `before-content` and `after-content`.

## request-processing

Configures request processing threads.

### Superelements

http-service

### Subelements

none

### Attributes

The following table describes attributes for the `request-processing` element.

Table 1–125 `request-processing` Attributes

Attribute | Default | Description
--- | --- | ---
`thread-count` | `128` | (optional) Specifies the maximum number of request processing threads.
`initial-thread-count` | `48` | (optional) Specifies the number of request processing threads that are available when the server starts up.
`thread-increment` | `10` | (optional) Specifies the number of request processing threads added when the number of requests exceeds the `initial-thread-count`.
`request-timeout-in-seconds` | `30` | (optional) Specifies the time at which the request times out.
`header-buffer-in-bytes` | `4096` | (optional) Specifies the size of the buffer used by the request processing threads to read the request data.

## resource-adapter-config

Defines a connector (resource adapter) configuration. Stores configuration information for the resource adapter JavaBean in `property` subelements.

### Superelements

resources

### Subelements

The following table describes subelements for the `resource-adapter-config` element.

Table 1–126 `resource-adapter-config` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `resource-adapter-config` element.

Table 1–127 `resource-adapter-config` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | (optional) Not used. See `resource-adapter-name`.
`thread-pool-ids` | none | (optional) Specifies the `id` of a thread-pool element.
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`resource-adapter-name` | none | Specifies the `name` attribute of a deployed connector-module. If the resource adapter is embedded in an application, then it is app_name`#`rar_name.

### Properties

Properties of the `resource-adapter-config` element are the names of setter methods of the `resourceadapter-class` element in the `ra.xml` file, which defines the class name of the resource adapter JavaBean. Any properties defined here override the default values present in `ra.xml`.

## resource-ref

References a resource deployed to the server instance.

### Superelements

cluster, server

### Subelements

none

### Attributes

The following table describes attributes for the `resource-ref` element.

Table 1–128 `resource-ref` Attributes

Attribute | Default | Description
--- | --- | ---
`enabled` | `true` | (optional) Determines whether the resource is enabled.
`ref` | none | References the `name` attribute of a custom-resource, external-jndi-resource, jdbc-resource, mail-resource, persistence-manager-factory-resource, admin-object-resource resource-adapter-config, jdbc-connection-pool, or connector-connection-pool element.

## resources

Contains configured resources, such as database connections, JavaMailTM sessions, and so on.

Note –

You must specify a Java Naming and Directory InterfaceTM (JNDI) name for each resource. To avoid collisions with names of other enterprise resources in JNDI, and to avoid portability problems, all names in an Application Server application should begin with the string `java:comp/env`.

### Superelements

domain

### Subelements

The following table describes subelements for the `resources` element.

Table 1–129 `resources` Subelements

Element | Required | Description
--- | --- | ---
custom-resource | zero or more | Defines a custom resource.
external-jndi-resource | zero or more | Defines a resource that resides in an external JNDI repository.
jdbc-resource | zero or more | Defines a JDBC (Java Database Connectivity) resource.
mail-resource | zero or more | Defines a JavaMail resource.
persistence-manager-factory-resource | zero or more | Defines a persistence manager factory resource for CMP.
admin-object-resource | zero or more | Defines an administered object for an inbound resource adapter.
connector-resource | zero or more | Defines a connector (resource adapter) resource.
resource-adapter-config | zero or more | Defines a resource adapter configuration.
jdbc-connection-pool | zero or more | Defines the properties that are required for creating a JDBC connection pool.
connector-connection-pool | zero or more | Defines the properties that are required for creating a connector connection pool.

Note –

Subelements of a `resources` element can occur in any order.

## response-policy

Defines the authentication policy requirements of the authentication provider’s response processing.

### Superelements

provider-config

### Subelements

none

### Attributes

The following table describes attributes for the `response-policy` element.

Table 1–130 `response-policy` Attributes

Attribute | Default | Description
--- | --- | ---
`auth-source` | none | Specifies the type of required authentication, either `sender` (user name and password) or `content` (digital signature).
`auth-recipient` | none | Specifies whether recipient authentication occurs before or after content authentication. Allowed values are `before-content` and `after-content`.

# S

## security-map

Maps the principal received during servlet or EJB authentication to the credentials accepted by the EIS.

### Superelements

connector-connection-pool

### Subelements

The following table describes subelements for the `security-map` element.

Table 1–131 `security-map` Subelements

Element | Required | Description
--- | --- | ---
principal | one or more | Contains the principal of the servlet or EJB client.
user-group | one or more | Contains the group to which the principal belongs.
backend-principal | only one | Specifies the user name and password required by the EIS.

### Attributes

The following table describes attributes for the `security-map` element.

Table 1–132 `security-map` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies a name for the security mapping.

## security-service

Defines parameters and configuration information needed by the J2EE security service.

### Superelements

config

### Subelements

The following table describes subelements for the `security-service` element.

Table 1–133 `security-service` Subelements

Element | Required | Description
--- | --- | ---
auth-realm | one or more | Defines a realm for authentication.
jacc-provider | one or more | Specifies a Java Authorization Contract for Containers (JACC) provider for pluggable authorization.
audit-module | zero or more | Specifies an optional plug-in module that implements audit capabilities.
message-security-config | zero or more | Specifies configurations for message security providers.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `security-service` element.

Table 1–134 `security-service` Attributes

Attribute | Default | Description
--- | --- | ---
`default-realm` | `file` | (optional) Specifies the active authentication realm (an `auth-realm` `name` attribute) for this server instance.
`default-principal` | none | (optional) Used as the identity of the default security context when necessary and when no principal is provided. This attribute need not be set for normal server operation.
`default-principal-password` | none | (optional) The password of the default principal. This attribute need not be set for normal server operation.
`anonymous-role` | `ANYONE` | (optional) Used as the name for default, or anonymous, role. The anonymous role is always assigned to all principals. This role value can be used in J2EE deployment descriptors to grant access to anyone.
`audit-enabled` | `false` | (optional) If `true`, additional access logging is performed to provide audit information. Audit information consists of: Authentication success and failure events Servlet and EJB access grants and denials
`jacc` | `default` | (optional) Specifies the name of the jacc-provider element to use for setting up the JACC infrastructure. Do not change the default value unless you are adding a custom JACC provider.
`audit-modules` | `default` | (optional) Specifies a comma-separated list of audit provider modules used by the audit subsystem. The default value refers to the internal log-based audit module.

## server

Defines a server instance.

Note –

Server instances are not the same thing as virtual servers. Each server instance is a completely separate server that contains one or more virtual servers.

### Superelements

servers

### Subelements

The following table describes subelements for the `server` element.

Table 1–135 `server` Subelements

Element | Required | Description
--- | --- | ---
application-ref | zero or more | References an application or module deployed to the server instance.
resource-ref | zero or more | References a resource deployed to the server instance.
system-property | zero or more | Specifies a system property.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `server` element.

Table 1–136 `server` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the server instance.
`config-ref` | default config element’s `name`, `server-config` | (optional) References the `name` of the config used by the server instance.
`node-agent-ref` | node agent created when the server instance was created | (optional) References the `name` of the node-agent used by the server instance.

## server-ref

References a server instance.

### Superelements

cluster, lb-config

### Subelements

The following table describes subelements for the `server-ref` element.

Table 1–137 `server-ref` Subelements

Element | Required | Description
--- | --- | ---
health-checker | zero or one | Defines a health checker for the referenced server instance.

### Attributes

The following table describes attributes for the `server-ref` element.

Table 1–138 `server-ref` Attributes

Attribute | Default | Description
--- | --- | ---
`ref` | none | References the `name` attribute of a server element.
`disable-timeout-in-minutes` | `30` | (optional) Specifies the time it takes this server instance to reach a quiescent state after having been disabled.
`lb-enabled` | `false` | (optional) If `true`, all load-balancers consider this server instance available to them.
`enabled` | `true` | (optional) Determines whether the server instance is enabled.

## servers

Contains server instances.

### Superelements

domain

### Subelements

The following table describes subelements for the `servers` element.

Table 1–139 `servers` Subelements

Element | Required | Description
--- | --- | ---
server | zero or more | Defines a server instance.

## session-config

Specifies session configuration information for the entire web container. Individual web applications can override these settings using the corresponding elements in their `sun-web.xml` files.

### Superelements

web-container

### Subelements

The following table describes subelements for the `session-config` element.

Table 1–140 `session-config` Subelements

Element | Required | Description
--- | --- | ---
session-manager | zero or one | Specifies session manager configuration information.
session-properties | zero or one | Specifies session properties.

## session-manager

Specifies session manager information.

Note –

The session manager interface is unstable. An unstable interface might be experimental or transitional, and hence might change incompatibly, be removed, or be replaced by a more stable interface in the next release.

### Superelements

session-config

### Subelements

The following table describes subelements for the `session-manager` element.

Table 1–141 `session-manager` Subelements

Element | Required | Description
--- | --- | ---
manager-properties | zero or one | Specifies session manager properties.
store-properties | zero or one | Specifies session persistence (storage) properties.

## session-properties

Specifies session properties.

### Superelements

session-config

### Subelements

The following table describes subelements for the `session-properties` element.

Table 1–142 `session-properties` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

Table 1–143 `session-properties` Attributes

Attribute | Default | Description
--- | --- | ---
`timeout-in-seconds` | `600` | (optional) Specifies the default maximum inactive interval (in seconds) for all sessions created in this web module. If set to `0` or less, sessions in this web module never expire. If a `session-timeout` element is specified in the `web.xml` file, the `session-timeout` value overrides any `timeout-in-seconds` value. If neither `session-timeout` nor `timeout-in-seconds` is specified, the `timeout-in-seconds` default is used. Note that the `session-timeout` element in `web.xml` is specified in minutes, not seconds.

### Properties

The following table describes properties for the `session-properties` element.

Table 1–144 `session-properties` Properties

Property | Default | Description
--- | --- | ---
`enableCookies` | `true` | Uses cookies for session tracking if set to `true`.
`enableURLRewriting` | `true` | Enables URL rewriting. This provides session tracking via URL rewriting when the browser does not accept cookies. You must also use an `encodeURL` or `encodeRedirectURL` call in the servlet or JavaServer PagesTM (JSPTM) page.
`idLengthBytes` | `128` | Specifies the number of bytes in this web module’s session ID.

## ssl

Defines SSL (Secure Socket Layer) parameters.

An `ssl` element is required inside an `http-listener` or `iiop-listener` element that has its `security-enabled` attribute set to `on`.

The grandparent http-service element has properties that configure global SSL settings, and the http-protocol subelement of the grandparent http-service element has the `ssl-enabled` attribute, which globally enables SSL.

### Superelements

http-listener, iiop-listener, jmx-connector, ssl-client-config

### Subelements

none

### Attributes

The following table describes attributes for the `ssl` element.

Table 1–145 `ssl` Attributes

Attribute | Default | Description
--- | --- | ---
`cert-nickname` | none | The nickname of the server certificate in the certificate database or the PKCS#11 token. In the certificate, the name format is tokenname`:`nickname. Including the tokenname`:` part of the name in this attribute is optional.
`ssl2-enabled` | `false` | (optional) Determines whether SSL2 is enabled. If both SSL2 and SSL3 are enabled for a virtual-server, the server tries SSL3 encryption first. If that fails, the server tries SSL2 encryption.
`ssl2-ciphers` | none | (optional) A comma-separated list of the SSL2 ciphers used, with the prefix `+` to enable or `-` to disable, for example `+rc4` . Allowed values are `rc4`, `rc4export`, `rc2`, `rc2export`, `idea`, `des` , `desede3`.
`ssl3-enabled` | `true` | (optional) Determines whether SSL3 is enabled. The default is `true` . If both SSL2 and SSL3 are enabled for a virtual-server, the server tries SSL3 encryption first. If that fails, the server tries SSL2 encryption.
`ssl3-tls-ciphers` | none | (optional) A comma-separated list of the SSL3 ciphers used, with the prefix `+` to enable or `-` to disable, for example `+rsa_des_sha` . Allowed SSL3 values are `rsa_rc4_128_md5`, `rsa_3des_sha` , `rsa_des_sha`, `rsa_rc4_40_md5`, `rsa_rc2_40_md5`, `rsa_null_md5`. Allowed TLS values are `rsa_des_56_sha`, `rsa_rc4_56_sha`.
`tls-enabled` | `true` | (optional) Determines whether TLS is enabled.
`tls-rollback-enabled` | `true` | (optional) Determines whether TLS rollback is enabled. TLS rollback should be enabled for Microsoft Internet Explorer 5.0 and 5.5. For more information, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Administration Guide.
`client-auth-enabled` | `false` | (optional) Determines whether SSL3 client authentication is performed on every request, independent of ACL-based access control.

## ssl-client-config

Defines SSL parameters for the ORB when it makes outbound SSL connections and behaves as a client.

### Superelements

iiop-service

### Subelements

The following table describes subelements for the `ssl-client-config` element.

Table 1–146 `ssl-client-config` Subelements

Element | Required | Description
--- | --- | ---
ssl | only one | Defines SSL parameters.

## store-properties

Specifies session persistence (storage) properties.

### Superelements

session-manager

### Subelements

The following table describes subelements for the `store-properties` element.

Table 1–147 `store-properties` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

Table 1–148 `store-properties` Attributes

Attribute | Default | Description
--- | --- | ---
`directory` | domain-dir`/generated/jsp/j2ee-apps/`appname`/`appname`_war` | (optional) Specifies the absolute or relative pathname of the directory into which individual session files are written. A relative path is relative to the temporary work directory for this web application. Applicable only if the `persistence-type` attribute of the web-container-availability element is `file`.
`reap-interval-in-seconds` | `60` | (optional) Specifies the time between checks for expired sessions. If the `persistence-type` attribute of the web-container-availability element is `file` or `ha`, sessions are passivated if `maxSessions` has been exceeded. If the `persistence-frequency` attribute of the web-container-availability element is set to `time-based`, active sessions are stored at this interval. Set this value lower than the frequency at which session data changes. For example, this value should be as low as possible (`1` second) for a hit counter servlet on a frequently accessed web site, or you could lose the last few hits each time you restart the server.

## system-property

Specifies a system property. A system property defines a common value for a setting at one of these levels, from highest to lowest: domain, cluster, server, or config. A value set at a higher level can be overridden at a lower level. Some system properties are predefined; see system-property. You can also create system properties using this element.

The following example shows the use of a predefined system property:

    <log-service file="${com.sun.aas.instanceRoot}/logs/server.log">
        <module-log-levels admin=INFO .../>
    </log-service>

The following example shows the creation and use of a system property:

    <config name="config1">
        ...
        <http-service>
            ...
            <http-listener id="ls1" host="0.0.0.0" port="${ls1-port}"/>
            ...
        </http-service>
        ...
        <system-property name="ls1-port" value="8080"/>
    </config>

### Superelements

cluster, config, domain, server

### Subelements

The following table describes subelements for the `system-property` element.

Table 1–149 `system-property` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `system-property` element.

Table 1–150 `system-property` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | Specifies the name of the system property.
`value` | none | Specifies the value of the system property.

### Properties

The following table lists predefined system properties.

Table 1–151 Predefined System Properties

Property | Default | Description
--- | --- | ---
`com.sun.aas.installRoot` | depends on operating system | Specifies the directory where the Application Server is installed.
`com.sun.aas.instanceRoot` | depends on operating system | Specifies the top level directory for a server instance.
`com.sun.aas.hostName` | none | Specifies the name of the host (machine).
`com.sun.aas.javaRoot` | depends on operating system | Specifies the J2SE installation directory.
`com.sun.aas.imqLib` | depends on operating system | Specifies the library directory for Sun Java System Message Queue.
`com.sun.aas.configName` | `server-config` | Specifies the name of the config used by a server instance.
`com.sun.aas.instanceName` | `server1` | Specifies the name of the server instance. This property is not used in the default configuration, but can be used to customize configuration.
`com.sun.aas.clusterName` | `cluster1` | Specifies the name of the cluster. This property is only set on clustered server instances. This property is not used in the default configuration, but can be used to customize configuration.
`com.sun.aas.domainName` | `domain1` | Specifies the name of the domain. This property is not used in the default configuration, but can be used to customize configuration.

# T

## thread-pool

Defines a thread pool.

### Superelements

thread-pools

### Subelements

none

### Attributes

Table 1–152 `thread-pool` Attributes

Attribute | Default | Description
--- | --- | ---
`thread-pool-id` | none | Specifies the thread pool ID.
`min-thread-pool-size` | `0` | (optional) Specifies the minimum number of threads in the pool. These are created when the thread pool is instantiated.
`max-thread-pool-size` | `200` | (optional) Specifies the maximum number of threads the pool can contain.
`idle-thread-timeout-in-seconds` | `120` | (optional) Specifies the amount of time after which idle threads are removed from the pool.
`num-work-queues` | `1` | (optional) Specifies the total number of work queues serviced by this thread pool.

## thread-pools

Contains thread pools.

### Superelements

config

### Subelements

The following table describes subelements for the `thread-pools` element.

Table 1–153 `thread-pools` Subelements

Element | Required | Description
--- | --- | ---
thread-pool | one or more | Defines a thread pool.

## transaction-service

Configures the Java Transaction Service (JTS).

### Superelements

config

### Subelements

The following table describes subelements for the `transaction-service` element.

Table 1–154 `transaction-service` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `transaction-service` element.

Table 1–155 `transaction-service` Attributes

Attribute | Default | Description
--- | --- | ---
`automatic-recovery` | `true` | (optional) If `true`, the server instance attempts transaction recovery during startup.
`timeout-in-seconds` | `0` | (optional) Specifies the amount of time after which the transaction is aborted. If set to `0`, the transaction never times out.
`tx-log-dir` | directory specified by the `log-root` attribute of the domain element | (optional) Specifies the parent directory of the transaction log directory `tx`. The directory in which the transaction logs are kept must be writable by the user account under which the server runs. A relative path is relative to the `log-root` attribute of the domain element.
`heuristic-decision` | `rollback` | (optional) If the outcome of a distributed transaction cannot be determined because other participants are unreachable, this property determines the outcome. Allowed values are `rollback` and `commit`.
`retry-timeout-in- seconds` | `600` | (optional) Determines the retry time in the following scenarios: At the transaction recovery time, if resources are unreachable. If there are any transient exceptions in the second phase of a two phase commit protocol. A negative value specifies infinite retries. A value of `0` (zero) specifies no retries. A positive value indicates the time after which a retry is attempted.
`keypoint-interval` | `2048` | (optional) Specifies the number of transactions between keypoint operations in the log. Keypoint operations reduce the size of the transaction log file by compressing it. A larger value for this attribute (for example, `4096`) results in a larger transaction log file, but fewer keypoint operations and potentially better performance. A smaller value (for example, `100`) results in smaller log files, but slightly reduced performance due to the greater frequency of keypoint operations.

### Properties

The following table describes properties for the `transaction-service` element.

Table 1–156 `transaction-service` Properties

Property | Default | Description
--- | --- | ---
`oracle-xa-recovery-workaround` | `true` | If `true`, the Oracle XA Resource workaround is used in transaction recovery.
`disable-distributed-transaction-logging` | `false` | If `true`, disables transaction logging, which might improve performance. If the `automatic-recovery` attribute is set to `true` , this property is ignored.
`xaresource-txn-timeout` | specific to the `XAResource` used | Changes the `XAResource` timeout. In some cases, the `XAResource` default timeout can cause transactions to be aborted, so it is desirable to change it.
`pending-txn-cleanup-interval` | none if this property is absent, `60` if this property is present but has no value | Specifies the interval, in seconds, at which an asynchronous thread checks for pending transactions and completes them.
`use-last-agent-optimization` | `true` | If `true`, enables last agent optimization, which improves the throughput of transactions. If one non-XA resource is used with XA resources in the same transaction, the non XA resource is the last agent.

# U

## user-group

Contains the group to which the principal belongs.

### Superelements

security-map

### Subelements

none - contains data

# V

## virtual-server

Defines a virtual server. A virtual server, also called a virtual host, is a virtual web server that serves content targeted for a specific URL. Multiple virtual servers can serve content using the same or different host names, port numbers, or IP addresses. The HTTP service can direct incoming web requests to different virtual servers based on the URL.

When the Application Server is first installed, a default virtual server is created. (You can also assign a default virtual server to each new http-listener you create.)

Note –

Virtual servers are not the same thing as server instances. Each server instance is a completely separate server that contains one or more virtual servers.

Before the Application Server can process a request, it must accept the request via a listener, then direct the request to the correct virtual server. The virtual server is determined as follows:

- If the listener is configured to only a default virtual server, that virtual server is selected.

- If the listener has more than one virtual server configured to it, the request `Host` header is matched to the `hosts` attribute of a virtual server. If no `Host` header is present or no `hosts` attribute matches, the default virtual server for the listener is selected.

If a virtual server is configured to an SSL listener, its `hosts` attribute is checked against the subject pattern of the certificate at server startup, and a warning is generated and written to the server log if they don’t match.

### Superelements

http-service

### Subelements

The following table describes subelements for the `virtual-server` element.

Table 1–157 `virtual-server` Subelements

Element | Required | Description
--- | --- | ---
http-access-log | zero or one | Defines an access log file.
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `virtual-server` element.

Table 1–158 `virtual-server` Attributes

Attribute | Default | Description
--- | --- | ---
`id` | none | Virtual server ID. This is a unique ID that allows lookup of a specific virtual server. A virtual server ID cannot begin with a number.
`http-listeners` | none | (optional) In a comma-separated list, references `id` attributes of http-listener elements that specify the connection(s) the virtual server uses. Required only for a `virtual-server` that is not referenced by the `default-virtual-server` attribute of an `http-listener`.
`default-web-module` | system default web module | (optional) References the `name` attribute of the default web-module for this virtual server, which responds to requests that cannot be resolved to other web modules deployed to this virtual server (see the application-ref element).
`hosts` | none | A comma-separated list of values, each of which selects the current virtual server when included in the `Host` request header. Two or more `virtual-server` elements that reference or are referenced by the same `http-listener` cannot have any `hosts` values in common.
`state` | `on` | (optional) Determines whether a `virtual-server` is active (`on`) or inactive (`off`, `disabled`). The default is `on` (active). When inactive, a `virtual-server` does not service requests. If a `virtual-server` is `disabled`, only the global server administrator can turn it `on`.
`docroot` | none | (optional) Specifies the document root for this virtual server.
`log-file` | `server.log` in the directory specified by the `log-root` attribute of the domain element | (optional) Writes this virtual server’s log messages to a log file separate from the server log. The file and directory in which the virtual server log is kept must be writable by the user account under which the server runs. See the log-service description for details about logs.

### Properties

The following table describes properties for the `virtual-server` element.

Table 1–159 `virtual-server` Properties

Property | Default | Description
--- | --- | ---
`sso-enabled` | `true` | If `true`, single sign-on is enabled for web applications on this virtual server that are configured for the same realm. If `false`, single sign-on is disabled for this virtual server, and users must authenticate separately to every application on the virtual server.
`sso-max-inactive-seconds` | `300` | Specifies the time after which a user’s single sign-on record becomes eligible for purging if no client activity is received. Since single sign-on applies across several applications on the same virtual server, access to any of the applications keeps the single sign-on record active. Higher values provide longer single sign-on persistence for the users at the expense of more memory use on the server.
`sso-reap-interval-seconds` | `60` | Specifies the interval between purges of expired single sign-on records.
`setCacheControl` | none | Specifies a comma-separated list of `Cache-Control` response directives. For a list of valid directives, see section 14.9 of the document at http://www.ietf.org/rfc/rfc2616.txt.
`redirect_`n | none | Specifies that a request for an old URL is treated as a request for a new URL. These properties are inherited by all web applications deployed on the virtual server. The value of each `redirect_`n property has two components, which may be specified in any order: The first component, `from`, specifies the prefix of the requested URI to match. The second component, `url-prefix`, specifies the new URL prefix to return to the client. The `from` prefix is simply replaced by this URL prefix. For example:
    <property name="redirect_1"
    value="from=/dummy url-prefix=http://etude"/>

# W

## web-container

Configures the web container.

### Superelements

config

### Subelements

The following table describes subelements for the `web-container` element.

Table 1–160 `web-container` Subelements

Element | Required | Description
--- | --- | ---
session-config | zero or one | Specifies session configuration information for the web container.
property | zero or more | Specifies a property or a variable.

## web-container-availability

Enables availability in the web container, including HTTP session persistence to the high-availability database (HADB).

If availability is disabled, there is no high availability for HTTP session persistence. In other words, `persistence-type=memory`.

If availability is enabled but no other `web-container-availability` attributes are specified, the default session persistence configuration is as follows:

    persistence-type=ha
    persistence-frequency=time-based
    persistence-scope=session

The default configuration for all applications can be changed by setting the various `web-container-availability` attributes and properties.

You can override the various `web-container-availability` attributes and properties for a specific application in `sun-web.xml`. For details, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide.

### Superelements

availability-service

### Subelements

The following table describes subelements for the `web-container-availability` element.

Table 1–161 `web-container-availability` Subelements

Element | Required | Description
--- | --- | ---
property | zero or more | Specifies a property or a variable.

### Attributes

The following table describes attributes for the `web-container-availability` element.

Table 1–162 `web-container-availability` Attributes

Attribute | Default | Description
--- | --- | ---
`availability-enabled` | `true` | (optional) If set to `true`, and if availability is enabled for the server instance (see availability-service), high-availability features apply to all web applications deployed to the server instance that do not have availability disabled. All instances in a cluster should have the same availability value to ensure consistent behavior.
`persistence-type` | `memory` | (optional) Specifies the session persistence mechanism for web applications that have availability enabled. Allowed values are `memory` (no persistence) `file` (the file system) and `ha` (the HADB). For production environments that require session persistence, use `ha`. If set to `memory`, the manager-properties element’s `sessionFilename` property specifies the file system location where the HTTP session state is stored if the server instance is gracefully shut down. This is useful for internal testing but is not supported for production environments. If set to `file`, the store-properties element’s `directory` property specifies the file system location where the HTTP session state is stored. Persisting to the file system is useful for internal testing but is not supported for production environments.
`persistence-frequency` | `web-method` | (optional) Specifies how often the session state is stored. Applicable only if the `persistence-type` is `ha`. Allowed values are as follows: `web-method` - The session state is stored at the end of each web request prior to sending a response back to the client. This mode provides the best guarantee that the session state is fully updated in case of failure. `time-based` - The session state is stored in the background at the frequency set by the `reapIntervalSeconds` property. This mode provides less of a guarantee that the session state is fully updated. However, it can provide a significant performance improvement because the state is not stored after each request.
`persistence-scope` | `session` | (optional) Specifies how much of the session state is stored. Applicable only if the `persistence-type` is `ha`. Allowed values are as follows: `session` - The entire session state is stored every time. This mode provides the best guarantee that your session data is correctly stored for any distributable web application. `modified-session` - The entire session state is stored if it has been modified. A session is considered to have been modified if `HttpSession.setAttribute()` or `HttpSession.removeAttribute()` was called. You must guarantee that `setAttribute()` is called every time an attribute is changed. This is not a J2EE specification requirement, but it is required for this mode to work properly. `modified-attribute` - Only modified session attributes are stored. For this mode to work properly, you must follow some guidelines, which are explained immediately following this table.
`sso-failover-enabled` | `false` | (optional) If `true`, the single sign-on state is highly available. To enable single sign-on, use the `sso-enabled` property of the virtual-server element.
`http-session-store-pool-name` | availability-service `store-pool-name` attribute value | (optional) Specifies the `jndi-name` of the jdbc-resource used for connections to the HADB for session persistence. For more information about setting up a connection pool and JDBC resource for the HADB, see the description of the `configure-ha-cluster` command in the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Reference Manual.

If the `persistence-scope` attribute is set to `modified-attribute` , your web application must follow these guidelines:

- Call `setAttribute()` every time the session state is modified.

- Make sure there are no cross-references between attributes. The object graph under each distinct attribute key is serialized and stored separately. If there are any object cross references between the objects under each separate key, they are not serialized and deserialized correctly.

- Distribute the session state across multiple attributes, or at least between a read-only attribute and a modifiable attribute.

## web-module

Specifies a deployed web module.

### Superelements

applications

### Subelements

The following table describes subelements for the `web-module` element.

Table 1–163 `web-module` Subelements

Element | Required | Description
--- | --- | ---
description | zero or one | Contains a text description of this element.

### Attributes

The following table describes attributes for the `web-module` element.

Table 1–164 `web-module` Attributes

Attribute | Default | Description
--- | --- | ---
`name` | none | The name of the web module.
`context-root` | none | The context root at which the web module is deployed. The context root can be the empty string or just `/`. The context root can start with the `/` character, but doesn’t have to. For load balancing to work, web module context roots must be unique within a cluster. See the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Administration Guide for more information about load balancing.
`location` | none | A fully qualified or relative path to the directory to which the contents of the `.war` file have been extracted. If relative, it is relative to the following directory: domain-dir`/applications/j2ee-modules/`
`object-type` | `user` | (optional) Defines the type of the resource. Allowed values are: `system-all` - A system resource for all server instances and the domain application server. `system-admin` - A system resource only for the domain application server. `system-instance` - A system resource for all server instances only. `user` - A user resource.
`enabled` | `true` | (optional) Determines whether the web module is enabled.
`availability-enabled` | `false` | (optional) Specifies whether availability is enabled in this web application for HTTP session persistence (and potentially passivation). Availability must also be enabled for the application or stand-alone web module during deployment. For more information about availability, see availability-service.
`directory-deployed` | `false` | (optional) Specifies whether the application has been deployed to a directory.

- Previous: Preface

- © 2010, Oracle Corporation and/or its affiliates