|
Glassfish example source code file (sun-domain_1_0.dtd)
The Glassfish sun-domain_1_0.dtd source code
<?xml version='1.0' encoding='UTF-8' ?>
<!--
The contents of this file are subject to the terms
of the Common Development and Distribution License
(the "License"). You may not use this file except
in compliance with the License.
You can obtain a copy of the license at
glassfish/bootstrap/legal/CDDLv1.0.txt or
https://glassfish.dev.java.net/public/CDDLv1.0.html.
See the License for the specific language governing
permissions and limitations under the License.
When distributing Covered Code, include this CDDL
HEADER in each file and include the License file at
glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your
own identifying information: Portions Copyright [yyyy]
[name of copyright owner]
-->
<!-- ENTITY Definitions for the dtd -->
<!ENTITY % boolean "(yes | no | on | off | 1 | 0 | true | false)">
<!ENTITY % isolation "(read-uncommitted | read-committed | repeatable-read | serializable)">
<!ENTITY % validation-level "(full | parsing | none)">
<!--
object-type defines the type of the resource. It can be:
system-all These are system resources for all instances and DAS
system-admin These are system resources only in DAS
system-instance These are system resources only in instances (and not DAS)
user User resources (This is the default for all elements)
-->
<!ENTITY % object-type "(system-all | system-admin | system-instance | user)">
<!-- SE/EE related ENTITIES: This will define the available JSR 160 connector
transport protocols.
-->
<!ENTITY % rjmx-protocol "(jmxmp)">
<!--
monitoring-level controls the amount of monitoring data collected
and exposed to clients
OFF: no monitoring/statistical data is exposed to the clients.
LOW: SE/EE only
HIGH: maximum data is gathered and released.
-->
<!ENTITY % monitoring-level "(OFF|LOW|HIGH)">
<!-- SE/EE related ENTITIES -->
<!ENTITY % persistence-type "(memory | file | ha | jdbc-oracle | jdbc-pointbase | custom)">
<!ENTITY % checkpoint-location "(end-of-method | end-of-transaction)">
<!ENTITY % session-save-frequency "(web-method | timer | synch)">
<!ENTITY % session-save-scope "(session | modified-session | modified-attribute)" >
<!--
Top level Domain Element that includes applications, resources, configs, servers,
clusters and node-controllers, load balancer configurations and load balancers.
node-controllers and load balancers are SE/EE related entities only.
application-root for PE this defines the location where applications are
deployed
log-root specifies where the server instance's log files are kept,
including HTTP access logs, server logs, and transaction
logs. Default is $INSTANCE-ROOT/logs
locale If present, overrides OS locale setting.
-->
<!ELEMENT domain (applications?, resources? , configs, servers, clusters?,
node-controllers?, lb-configurations?, loadbalancers?,
property* )>
<!ATTLIST domain application-root CDATA #IMPLIED
log-root CDATA #IMPLIED
locale CDATA #IMPLIED>
<!-- Aggregation elements that includes 0 or more of its types.
configs: for PE there will be only a single named configuration
servers: for PE there will be only a single named server instance
clusters: SE/EE only
node-controllers: SE/EE only
lb-configurations: SE/EE only
loadbalancers: SE/EE only
-->
<!ELEMENT configs (config+)>
<!ELEMENT servers (server*)>
<!ELEMENT clusters (cluster*)>
<!ELEMENT node-controllers (node-controller*)>
<!ELEMENT lb-configurations (lb-configuration*)>
<!ELEMENT loadbalancers (loadbalancer*)>
<!--- APPLICATIONS SECTION -->
<!-- Various types of applications that can be deployed on Sun ONE Application
Server instance
applications-dir specifies an absolute path to where deployed
applications will reside for this instance. The default location
is $INSTANCE-ROOT/applications
-->
<!ELEMENT applications ((lifecycle-module | j2ee-application | ejb-module |
web-module | connector-module | appclient-module)*)>
<!--
Server Lifecycle Listener Modules
name unqiue identifier for the deployed server lifecycle event
listener module.
class-name fully qualified name of the startup class.
classpath where this module is actually located, if it is not under
applications-root
load-order integer value that can be used to force the order in which deployed
lifecycle modules are loaded at server start up. Smaller numbered
modules get loaded sooner. Order is unspecified if two or more
lifecycle modules have the same load-order value.
is-failure-fatal, if true, aborts server start up if this module does not
load properly.
enabled boolean attribute. If set to "false" this module will not be
loaded at server start up.
-->
<!ELEMENT lifecycle-module (description? , property*)>
<!ATTLIST lifecycle-module name CDATA #REQUIRED
class-name CDATA #REQUIRED
classpath CDATA #IMPLIED
load-order CDATA #IMPLIED
is-failure-fatal %boolean; "false"
enabled %boolean; "true">
<!-- j2ee-application and ejb-module attributes
-->
<!ELEMENT j2ee-application (description?)>
<!ATTLIST j2ee-application name CDATA #REQUIRED
location CDATA #REQUIRED
object-type %object-type; "user"
enabled %boolean; "true">
<!ELEMENT ejb-module (description?)>
<!ATTLIST ejb-module name CDATA #REQUIRED
location CDATA #REQUIRED
object-type %object-type; "user"
enabled %boolean; "true">
<!ELEMENT web-module (description?)>
<!ATTLIST web-module name CDATA #REQUIRED
context-root CDATA #REQUIRED
location CDATA #REQUIRED
object-type %object-type; "user"
enabled %boolean; "true">
<!ELEMENT connector-module (description?)>
<!ATTLIST connector-module name CDATA #REQUIRED
location CDATA #REQUIRED
object-type %object-type; "user"
enabled %boolean; "true">
<!ELEMENT appclient-module (description?)>
<!ATTLIST appclient-module name CDATA #REQUIRED
location CDATA #REQUIRED>
<!--- RESOURCES SECTION -->
<!-- J2EE Applications look up resources registered with the
Application server, using portable JNDI names.
-->
<!ELEMENT resources ((custom-resource | external-jndi-resource | jdbc-resource |
mail-resource | persistence-manager-factory-resource |
admin-object-resource | connector-resource | resource-adapter-config |
jdbc-connection-pool | connector-connection-pool)*)>
<!-- Textual description of a configured entity -->
<!ELEMENT description (#PCDATA)>
<!-- custom (or generic) resource managed by a user-written factory class. -->
<!ELEMENT custom-resource (description? , property*)>
<!--
JNDI name for generic resource, the fully qualified type of the resource
and whether it is enabled at runtime
-->
<!ATTLIST custom-resource jndi-name CDATA #REQUIRED
res-type CDATA #REQUIRED
factory-class CDATA #REQUIRED
enabled %boolean; "true">
<!-- resource residing in an external JNDI repository -->
<!ELEMENT external-jndi-resource (description? , property*)>
<!ATTLIST external-jndi-resource jndi-name CDATA #REQUIRED
jndi-lookup-name CDATA #REQUIRED
res-type CDATA #REQUIRED
factory-class CDATA #REQUIRED
enabled %boolean; "true">
<!-- JDBC javax.sql.(XA)DataSource resource definition -->
<!ELEMENT jdbc-resource (description? , property*)>
<!ATTLIST jdbc-resource jndi-name CDATA #REQUIRED
pool-name CDATA #REQUIRED
object-type %object-type; "user"
enabled %boolean; "true">
<!-- The mail-resource element describes a javax.mail.Session resource -->
<!ELEMENT mail-resource (description? , property*)>
<!ATTLIST mail-resource jndi-name CDATA #REQUIRED
store-protocol CDATA "imap"
store-protocol-class CDATA "com.sun.mail.imap.IMAPStore"
transport-protocol CDATA "smtp"
transport-protocol-class CDATA "com.sun.mail.smtp.SMTPTransport"
host CDATA #REQUIRED
user CDATA #REQUIRED
from CDATA #REQUIRED
debug %boolean; "false"
enabled %boolean; "true">
<!--
Persistence Manager runtime configuration.
jndi-name JNDI name for this resource
jdbc-resource-jndi-name: jdbc resource with which database connections
are obtained.
must be the name of one of pre-created jdbc resources.
factory-class: Class that creates persistence manager instance.
-->
<!ELEMENT persistence-manager-factory-resource (description? , property*)>
<!ATTLIST persistence-manager-factory-resource
jndi-name CDATA #REQUIRED
factory-class CDATA
"com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl"
jdbc-resource-jndi-name CDATA #IMPLIED
enabled %boolean; "true">
<!-- The admin-object-resource element describes a administered object for a inbound
resource adapter.
jndi-name JNDI name for this resource
res-type Interface definition for the administered object
res-adapter Name of the inbound resource adapter.
-->
<!ELEMENT admin-object-resource (description?, property*)>
<!ATTLIST admin-object-resource jndi-name CDATA #REQUIRED
res-type CDATA #REQUIRED
res-adapter CDATA #REQUIRED
enabled %boolean; "true">
<!ELEMENT connector-resource (description?, property*)>
<!ATTLIST connector-resource jndi-name CDATA #REQUIRED
pool-name CDATA #REQUIRED
object-type %object-type; "user"
enabled %boolean; "true">
<!--
This element is for configuring the resource adapter. These values
(properties) over-rides the default values present in ra.xml.
The name attribute has to be unique . It is optional for PE. It is
used mainly for EE.
-->
<!ELEMENT resource-adapter-config (property*)>
<!ATTLIST resource-adapter-config name CDATA #IMPLIED
thread-pool-ids CDATA #IMPLIED
resource-adapter-name CDATA #REQUIRED>
<!-- CONFIGS SECTION -->
<!--
The configuration defines the configuration of a server instance that
can be shared by other server instances. The availability-service and
quorum-service are SE/EE only.
-->
<!ELEMENT config (http-service, iiop-service, admin-service,
web-container, ejb-container, mdb-container,
jms-service?, log-service, security-service,
transaction-service, monitoring-service, java-config ,
availability-service? , quorum-service?,
thread-pools, property*)>
<!ATTLIST config name CDATA #REQUIRED>
<!-- HTTP service configuration -->
<!ELEMENT http-service ((http-listener | virtual-server)* ,
property*)>
<!-- Configure HTTP listener
id Unique identifier for http listener.
address IP address of the listen socket. Can be in dotted-pair or IPv6 notation.
Can also be any for INADDR-ANY. Configuring a listen socket to listen on
any is required if more than one http-listener is configured to it.
port Port number to create the listen socket on. Legal values are 1 - 65535.
On Unix, creating sockets that listen on ports 1 - 1024 requires
superuser privileges. Configuring an SSL listen socket to listen on
port 443 is recommended.
security-enabled (optional) Determines whether the http listener runs SSL. You can
turn SSL2 or SSL3 on or off and set ciphers using an ssl element
The Security setting in the init.conf file globally enables or disables
SSL by making certificates available to the server instance. Therefore,
Security in init.conf must be on or security in server.xml does not
work.
acceptor-threads (optional) Number of acceptor threads for the listen socket.
The recommended value is the number of processors in the machine.
default-virtual-server The id attribute of the default virtual server for this
particular connection group.
server-name 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.
This name should be the alias name if your server uses an alias.
If you append a colon and port number, that port will be used in URLs
the server sends to the client.
xpowered-by The Servlet 2.4 spec defines a special X-Powered-By: Servlet/2.4
header, which containers may add to servlet-generated responses. This
is complemented by the JSP 2.0 spec, which defines a X-Powered-By: JSP/2.0
header to be added (on an optional basis) to responses utilizing JSP technology.
The goal of these headers is to aid in gathering statistical data
about the use of Servlet and JSP technology. If true, these headers will
be added.
redirect-port if the connector is supporting non-SSL requests and a request is received
for which a matching <security-constraint> requires SSL transport
catalina will automatically redirect the request to the port number
specified here
-->
<!ELEMENT http-listener (ssl?, property*)>
<!ATTLIST http-listener id CDATA #REQUIRED
address CDATA #REQUIRED
port CDATA #REQUIRED
acceptor-threads CDATA "1"
security-enabled %boolean; "false"
default-virtual-server CDATA #REQUIRED
server-name CDATA #REQUIRED
redirect-port CDATA #IMPLIED
xpowered-by %boolean; "true"
enabled %boolean; "true" >
<!-- Define SSL processing parameters
cert-nickname 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 (optional) Determines whether SSL2 is enabled.
ssl3-enabled (optional) Determines whether SSL3 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 (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.
If no value is specified, all supported ciphers are assumed to
be enabled.
ssl3-tls-ciphers (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, rsa3des-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. If no value is specified,
all supported ciphers are assumed to be enabled.
tls-enabled (optional) Determines whether TLS is enabled.
tls-rollback-enabled (optional) Determines whether TLS rollback is enabled. TLS
rollback should be enabled for Microsoft Internet Explorer
5.0 and 5.5.
client-auth-enabled (optional) Determines whether SSL3 client authentication is
performed on every request, independent of ACL-based access
control.
-->
<!ELEMENT ssl EMPTY>
<!ATTLIST ssl cert-nickname CDATA #REQUIRED
ssl2-enabled %boolean; "false"
ssl2-ciphers CDATA #IMPLIED
ssl3-enabled %boolean; "true"
ssl3-tls-ciphers CDATA #IMPLIED
tls-enabled %boolean; "true"
tls-rollback-enabled %boolean; "true"
client-auth-enabled %boolean; "false" >
<!-- Configuration of Virtual Server
Virtualization in Application Server allows multiple URL domains to be served by
the same HTTP server process, which is listening on multiple host addresses If
an application is available at two virtual servers, they still share same physical
resource pools, such as JDBC connection pools.
Sun ONE Application Server allows a list of virtual servers, to be specified
along with web-module and j2ee-application elements. This establishes an
association between URL domains, represented by the virtual server and the web
modules (standalone web modules or web modules inside the ear file)
id Virtual server ID. This is a unique ID that allows lookup of a
specific virtual server. Can also be referred to as the
variable $id in an obj.conf file. A virtual server ID cannot
begin with a number.
http-listeners (optional) A comma-separated list of http-listener id(s),
Required only for a Virtual Server that is not the default
virtual server.
default-web-module (optional) stand alone web module associated with this
virtual server by default.
hosts A comma-separated list of values allowed in the Host request
header to select the current virtual server. Each Virtual Server
that is configured to the same Connection Group must have a
unique hosts value for that group.
state (optional) Determines whether a Virtual Server is active
(on) or inactive (off, disable). The default is on (active).
When inactive, a Virtual Server does not service requests.
If a Virtual Server is disabled, only the server administrator
can turn it on.
log-file (optional) Specifies a log file for virtual-server-specific
log messages. If this is not specified, log messages go to
$LOG-ROOT/server.log
-->
<!ELEMENT virtual-server (property*)>
<!ATTLIST virtual-server id CDATA #REQUIRED
http-listeners CDATA #IMPLIED
default-web-module CDATA #IMPLIED
hosts CDATA #REQUIRED
state (on | off | disabled ) "on"
log-file CDATA #IMPLIED >
<!-- ORB underlies the EJB container. Requests for EJBs from Application Client
Container(s) or from another EJB interoperability capable J2EE Container(s)
are serviced by iiop listener(s). One non-SSL iiop listener can be configured.
SSL support may require up to two SSL secured IIOP listeners to be configured:
Server Authentication only, Mutual Authentication only, or both.
ssl-client-config element specifies the SSL configuration when the Application
Server is making outbound IIOP/SSL connections.
By default, a server instance will configure non-secure IIOP access.
Administrator can create and configure IIOP/SSL listener(s).
client-authentication-required if true, the server will reject unauthenticated requests.
It will also insert an "Authentication required"
bit in IORs sent to clients.
-->
<!ELEMENT iiop-service (orb , ssl-client-config? , iiop-listener*)>
<!ATTLIST iiop-service client-authentication-required %boolean; "false">
<!-- Orb Configuration properties
message-fragment-size GIOPv1.2 messages larger than this will get fragmented.
max-connections maximum number of incoming connections, on all listeners
use-thread-pool-ids This would refer to the thread-pool-id(s) defined in
the thread-pool sub-element of thread-pool-config
element in server.xml. These would be the threadpool(s)
used by the ORB. More than one thread-pool-id(s) could
be specified by using commas to separate
the names e.g. "orb-thread-pool-1, orb-thread-pool-2"
-->
<!ELEMENT orb (property*)>
<!ATTLIST orb use-thread-pool-ids CDATA #REQUIRED
message-fragment-size CDATA "1024"
max-connections CDATA "1024">
<!-- Client SSL Configuration -->
<!ELEMENT ssl-client-config (ssl)>
<!-- IIOP Listener Configuration.
ssl element specifies optional SSL configuration
id unique identifier for this listener.
address ip address or hostname (resolvable by DNS)
port port number
security-enabled Determines whether the iiop listener runs SSL. You can
turn SSL2 or SSL3 on or off and set ciphers using an ssl element
enabled if false, a configured listener, is disabled
-->
<!ELEMENT iiop-listener (ssl? , property*)>
<!ATTLIST iiop-listener id CDATA #REQUIRED
address CDATA #REQUIRED
port CDATA "1072"
security-enabled %boolean; "false"
enabled %boolean; "true" >
<!--
Admin Service exists in every instance. It is the configuration for either
a normal server, DAS or PE instance.
type an instance can either be of type:
das: Domain Administration Server in SE/EE
server: Any non-DAS instance in SE/EE
das-and-server: DAS with Deployment (PE case)
system-jmx-connector-name SE/EE only. Defines the name of the internally
used jmx-connector.
-->
<!ELEMENT admin-service (jmx-connector*, das-config?, property* )>
<!ATTLIST admin-service type (das|das-and-server|server) "server"
system-jmx-connector-name CDATA #IMPLIED>
<!-- SE/EE only. The jmx-connector element defines the configuration of a JSR 160 compliant
remote JMX Connector.
name name of jmx connector used for identification
protocol Defines the protocol that this jmx-connector should
support. Supported protocols are defined by Entity
rjmx-protocol. Sun ONE AS 8.0 supports "jmxmp" protocol.
For other protocols supported, refer to documentation.
address Specifies the IP address or host-name.
port Specifies the port of the jmx-connector-server.
Note that jmx-service-uRL is a function of protocol, port
and address as defined by the JSR 160 1.0 Specification.
accept-all Determines whether the connection can be made on all the
value of false implies that the connections only for
this specific address will be selected.
auth-realm-name The name of the auth-realm in this config element that represents the special
administrative realm. All authentication (from administraive GUI and CLI) will
be handled by this realm.
security-enabled Decides whether the transport layer security be used in
jmx-connector. If true, configure the ssl element.
Used in: admin-service.
-->
<!ELEMENT jmx-connector (ssl?, property*)>
<!ATTLIST jmx-connector name CDATA #REQUIRED
protocol %rjmx-protocol; "jmxmp"
address CDATA #REQUIRED
port CDATA #REQUIRED
accept-all %boolean; "false"
auth-realm-name CDATA #REQUIRED
security-enabled %boolean; "true">
<!--
dynamic-reload-enabled when true, server checks timestamp on a .reload
file at every module and application directory level to trigger
reload. polling frequency is controlled by
reload-poll-interval-in-seconds
autodeploy-enabled This will enable the autodeployment service. If true, the
service will automatically starts with the admin-server.
Auto Deployment is a feature that enables developers to quickly
deploy applications and modules to a running application server
withoutrequiring the developer to perform an explicit application
server restart or separate deployment operation.
autodeploy-polling-interval-in-seconds The polling interval (in seconds), at the end of
which autodeployment service will scan the source directory
(specified by "autodeploy-dir" tag) for any new deployable component.
autodeploy-dir The source directory (relative to instance root) from which autodeploy
service will pick deployable components. You can also specify an
absolute directory.
autodeploy-verifier-enabled To enable/disable verifier, during auto-deployment. If true,
verification will be done before any deployment activity.
In the event of any verifier test failure, deployment is
not performed.
autodeploy-jsp-precompilation-enabled If true, JSPs will be pre compiled during
deployment of the war module(s).
deploy-xml-validation specifies if descriptor validation is required or not.
full: xml will be validated and in case of xml validation errors,
deployment will fail.
parsing: xml errors will be reported but deployment process will continue.
none: no xml validation will be perfomed on the standard or
runtime deployment descriptors.
admin-session-timeout-in-minutes timeout in minutes indicating the administration gui session timeout.
-->
<!ELEMENT das-config (property*)>
<!ATTLIST das-config dynamic-reload-enabled %boolean; "false"
dynamic-reload-poll-interval-in-seconds CDATA '2'
autodeploy-enabled %boolean; "false"
autodeploy-polling-interval-in-seconds CDATA '30'
autodeploy-dir CDATA "autodeploy"
autodeploy-verifier-enabled %boolean; "false"
autodeploy-jsp-precompilation-enabled %boolean;"false"
deploy-xml-validation %validation-level; "full"
admin-session-timeout-in-minutes CDATA #IMPLIED >
<!-- SE/EE only. needs explanation TBD -->
<!ELEMENT web-container (session-config?, property*)>
<!ELEMENT session-config (session-manager?, session-properties?)>
<!ELEMENT session-manager (manager-properties?, store-properties?)>
<!ELEMENT manager-properties (property*)>
<!ATTLIST manager-properties session-file-name CDATA #IMPLIED
reap-interval-in-seconds CDATA #IMPLIED
max-sessions CDATA #IMPLIED
session-id-generator-classname CDATA #IMPLIED>
<!ELEMENT store-properties (property*)>
<!ATTLIST store-properties directory CDATA #IMPLIED
reap-interval-in-seconds CDATA #IMPLIED>
<!ELEMENT session-properties (property*)>
<!ATTLIST session-properties timeout-in-seconds CDATA #IMPLIED>
<!--
Configuration of EJB Container. Properties apply to all beans in all deployed
applications, unless different parameters are specified in Sun ONE Application Server
specific deployment descriptors. Applicability is indicated in middle column, using
the following acronyms:
slsb - stateless session bean
sfsb - stateful session bean
eb - entity bean (incl. read-only)
steady-pool-size slsb,eb number of bean instances normally maintained in pool. When a pool
is first created, it will be populated with size equal to
steady-pool-size. When an instance is removed from the pool, it
is replenished asynchronously, so that the pool size is at
or above the steady-pool-size. This additions will be in multiples
of pool-resize-quantity. When a bean is disassociated from a
method invocation, it is put back in the pool, subject to
max-pool-size limit. If the max pool size is exceeded the bean
id destroyed immediately. A pool cleaning thread, executes at
an interval defined by pool-idle-timeout-in-seconds. This thread
reduces the pool size to steady-pool-size, in steps defined by
pool-resize-quantity. If the pool is empty, the required object
will be created and returned immediately. This prevents threads
from blocking till the pool is replenished by the background
thread. steady-pool-size must be greater than 1 and at most equal
to the max-pool-size.
max-pool-size slsb,eb maximum size, a pool can grow to. A value of 0 implies
an unbounded pool. Unbounded pools eventually shrink to the
steady-pool-size, in steps defined by pool-resize-quantity.
pool-resize-quantity slsb,eb size of bean pool grows (shrinks) in steps specified by
pool-resize-quantity, subject to max-pool-size (steady-pool-size) limit.
Pool is resized when the pool cleaner thread runs. This rate at which
this thread runs is defined by pool-idle-timeout-in-seconds
pool-resize-quantity must be greater 1 and less than max-pool-size.
pool will never be resized below the steady pool size.
pool-idle-timeout-in-seconds slsb,eb defines the rate at which the pool cleaning thread is executed.
this thread checks if current size is greater than steady pool
size, it removes pool-resize-quantity elements. If the current
size is less than steady-pool-size it is increased by
pool-resize-quantity, with a ceiling of
min (current-pool-size+pool + resize-quantity, max-pool-size)
Only objects that have not been accessed for more than
pool-idle-timeout-in-seconds are candidates for removal.
cache-resize-quantity eb,sfsb Cache elements have identity, hence growth is in unit steps
and created on demand. Shrinking of cache happens
when cache-idle-timeout-in-seconds timer expires and a cleaner
thread passivates beans which have been idle for longer than
cache-idle-timeout-in-seconds. All idle instances are passivated at once.
cache-resize-quantity does not apply in this case.
when max cache size is reached, an asynchronous task is created
to bring the size back under the max-cache-size limit. This task
removes cache-resize-quantity elements, consulting the
victim-selection-policy.
Must be greater than 1 and less than max-cache-size.
max-cache-size sfsb,eb specifies the maximum number of instances that can be cached.
For entity beans, internally two caches are maintained for
higher concurrency: (i) Ready (R$) (ii) Active in an Incomplete
Transaction (TX$). The TX$ is populated with instances from R$
or from the Pool directly. When an instance in TX$ completes the
transaction, it is placed back in the R$ (or in pool, in case an
instance with same identity already is in R$). max-cache-size
only specifies the upper limit for R$. The container computes
an appropriate size for TX$.
cache-idle-timeout-in-seconds eb specifies the rate at which the cache cleaner thread is scheduled.
All idle instances are passivated at once.
removal-timeout-in-seconds sfsb Instance is removed from cache or passivation store, if it is
not accesed within this time. All instances that can be removed,
will be removed.
victim-selection-policy sfsb Victim selection policy when cache needs to shrink. fifo method
picks victims, oldest instance first. lru algorithm picks least
recently accessed instances. nru policy tries to pick
"not recently used" instances and is a pseudo-random selection
process. Victims are passivated. Entity Bean Victims are selected
always using fifo discipline. Does not apply to slsb because it
does not matter, which particular instances are removed.
commit-option eb Entity Beans caching is controlled by this setting. Commit Option
C implies that no caching is performed in the container.
Above defaults, apply only if they are not specified in vendor specific Bean Deployment Descriptors.
The ejb-timer-service element contains the configuration for the
ejb timer service. There is at most one ejb timer service per
server instance.
session-store specifies the directory where passivated beans and
persisted HTTP sessions are stored on the file system.
Defaults to $INSTANCE-ROOT/session-store
-->
<!ELEMENT ejb-container (ejb-timer-service?, property*)>
<!ATTLIST ejb-container steady-pool-size CDATA "32"
pool-resize-quantity CDATA "16"
max-pool-size CDATA "64"
cache-resize-quantity CDATA "32"
max-cache-size CDATA "512"
pool-idle-timeout-in-seconds CDATA "600"
cache-idle-timeout-in-seconds CDATA "600"
removal-timeout-in-seconds CDATA "5400"
victim-selection-policy (fifo | lru | nru ) "nru"
commit-option (B | C ) "B"
session-store CDATA #IMPLIED>
<!--
Configuration for ejb timer service.
"minimum-delivery-interval-in-millis" is the minimum number of milliseconds
allowed before the next timer expiration for a particular timer can occur.
It guards against extremely small timer increments that can overload
the server.
"max-redeliveries" is the maximum number of times the ejb timer service
will attempt to redeliver a timer expiration due to exception or
rollback. The minimum value is 1, per the ejb specification.
"timer-datasource" overrides the cmp-resource (jdbc/__TimerPool) specified
in sun-ejb-jar.xml of (__ejb_container_timer_app) of the timer service
system application. By default this is set to jdbc/__TimerPool, but
can be overridden for the cluster or server instance, if they choose to.
"redelivery-interval-in-millis" is the number of milliseconds the ejb
timer service will wait after a failed ejbTimeout delivery before
attempting a redelivery.
-->
<!ELEMENT ejb-timer-service (property*)>
<!ATTLIST ejb-timer-service minimum-delivery-interval-in-millis CDATA "7000"
max-redeliveries CDATA "1"
timer-datasource CDATA #IMPLIED
redelivery-interval-internal-in-millis CDATA "5000">
<!--
Configuration of MDB Container
steady-pool-size minimum and initial number of message driven beans in pool.
pool-resize-quantity quantum of increase/decrease, when the size of pool grows/shrinks.
max-pool-size maximum size, pool can grow to.
idle-timeout-in-seconds idle bean instance in pool becomes a candidate for deletion,
when this timeout expires.
The above pool defaults, apply if they are not specified
in the Sun ONE Application Server specific Deployment
Descriptors.
-->
<!ELEMENT mdb-container (property*)>
<!ATTLIST mdb-container steady-pool-size CDATA "10"
pool-resize-quantity CDATA "2"
max-pool-size CDATA "60"
idle-timeout-in-seconds CDATA "600">
<!--
The jms-service element specifies information about the bundled/built-in
JMS service that is managed by Application Server.
If the "enabled" attribute is set to "true", the server instance
will be responsible for starting up and shutting down the JMS service.
If the "enabled" attribute is set to "false", the server instance
will not startup nor shutdown the JMS service (either because JMS
is not used or because it is managed independently of application server).
"port" attribute specifies the port number used by the JMS service.
"admin-username" attribute specifies the admin username.
"admin-password" attribute specifies the admin password.
"init-timeout-in-seconds" specifies the time server instance
will wait at start up, for its corresponding JMS service instance
to respond. If there is no response within the specifies timeout
period, application server startup is aborted.
"start-args" specifies the arguments that will be supplied to
start up the corresponding JMS service instance.
-->
<!ELEMENT jms-service (jms-host*, property*)>
<!ATTLIST jms-service init-timeout-in-seconds CDATA "60"
type (LOCAL|NONE|REMOTE) "LOCAL"
start-args CDATA #IMPLIED>
<!ELEMENT jms-host (property*)>
<!ATTLIST jms-host name CDATA #REQUIRED
host CDATA #IMPLIED
port CDATA "7676"
admin-user-name CDATA "admin"
admin-password CDATA "admin">
<!-- Generic Log Service Configuration
By default, logs would be kept in $INSTANCE-ROOT/logs. The following log
files will be stored under the logs directory.
access.log keeps default virtual server HTTP access messages.
server.log keeps log messages from default virtual server.
Messages from other configured virtual servers
also go here, unless log-file is explicitly
specified in the virtual-server element.
file attribute can be used to rename or relocate server.log using absolute
path.
use-system-logging if true, will utilize Unix syslog service or Windows
Event Logging to produce and manage logs.
log-handler Can plug in a custom log handler to add it to the chain of
handlers to log into a different log destination than the default
ones given by the system (which are Console, File and Syslog). It is
a requirement that customers use the log formatter provided by the the
system to maintain uniformity in log messages. The custom log handler will
be added at the end of the handler chain after File + Syslog Handler,
Console Handler and JMX Handler. User cannot replace the handler
provided by the system, because of loosing precious log statements. The
Server Initialization will take care of installing the custom handler
with the system formatter initialized. The user need to use JSR 047
Log Handler Interface to implement the custom handler.
log-filter Can plug in a log filter to do custom filtering of log records . By
default there is no log filter other than the log level filtering
provided by JSR 047 log API.
log-to-console logs will be sent to stderr when asadmin start-domain verbose is used
log-rotation-limit-in-bytes Log Files will be rotated when the file size reaches the limit.
alarms if true, will turn on alarms for the logger. The SEVERE and WARNING messages
can be routed through the JMX framework to raise SEVERE and WARNING alerts. Alarms
are turned off by default.
-->
<!ELEMENT log-service (module-log-levels?, property*)>
<!ATTLIST log-service file CDATA #IMPLIED
use-system-logging %boolean; "false"
log-handler CDATA #IMPLIED
log-filter CDATA #IMPLIED
log-to-console %boolean; "false"
log-rotation-limit-in-bytes CDATA "500000"
alarms %boolean; "false">
<!--
Configure the Log Levels for Various Loggers in the SUN ONE Modules.
The Default level is set to INFO, The log levels can be changed
using one of the seven levels. Please refer JSR 047 to understand
the Log Levels.
The Logs can be completely turned off by using 'OFF' value. The names
of the module loggers are self-explanatory
transaction If greater or less verbosity is desired from transaction
sub-system this can be adjusted. Note that this refers to
logging messages and not transaction co-ordination logs.
-->
<!ENTITY % log-level "(FINEST|FINER|FINE|CONFIG|INFO|WARNING|SEVERE|OFF)">
<!ELEMENT module-log-levels (property*)>
<!ATTLIST module-log-levels
root %log-level; "INFO"
server %log-level; "INFO"
ejb-container %log-level; "INFO"
cmp-container %log-level; "INFO"
mdb-container %log-level; "INFO"
web-container %log-level; "INFO"
classloader %log-level; "INFO"
configuration %log-level; "INFO"
naming %log-level; "INFO"
security %log-level; "INFO"
jts %log-level; "INFO"
jta %log-level; "INFO"
admin %log-level; "INFO"
deployment %log-level; "INFO"
verifier %log-level; "INFO"
jaxr %log-level; "INFO"
jaxrpc %log-level; "INFO"
saaj %log-level; "INFO"
corba %log-level; "INFO"
javamail %log-level; "INFO"
jms %log-level; "INFO"
connector %log-level; "INFO"
jdo %log-level; "INFO"
cmp %log-level; "INFO"
resource-adapter %log-level; "INFO">
<!--
The security service element defines parameters and configuration
information needed by the core J2EE security service. Some
container-specific security configuration elements are in the
various container configuration elements and not here. SSL
configuration is also elsewhere. At this time the security service
configuration consists of a set of authentication realms. A number
of top-level attributes are defined as well.
default-realm: Specifies which realm (by name) is used by default when no
realm is specifically requested. The file realm is the common default.
default-principal: Used as the identity of default security contexts when
necessary and no principal is provided.
default-principal-pwd: Password of default principal.
anonymous-role: Used as role name for default/anonymous role.
audit-enabled: If true, additional access logging is performed to provide
audit information.
jacc: Specifies the name of the jacc-provider element to use for setting
up the JACC infrastructure. The default value "default" does not need
to be changed unless adding a custom JACC provider.
audit-modules: Optional list of audit provider modules which will be used
by the audit subsystem. The default value refers to the internal
log-based audit module.
-->
<!ELEMENT security-service (auth-realm+ , jacc-provider+ , audit-module*, property*)>
<!ATTLIST security-service default-realm CDATA "file"
default-principal CDATA #IMPLIED
default-principal-password CDATA #IMPLIED
anonymous-role CDATA "ANYONE"
audit-enabled %boolean; "false"
jacc CDATA "default"
audit-modules CDATA "default">
<!--
An audit-module specifies an optional plug-in module which implements
audit capabilities.
name: defines the name of this realm
classname: defines the java class which implements this audit module
-->
<!ELEMENT audit-module (property*)>
<!ATTLIST audit-module name CDATA #REQUIRED
classname CDATA #REQUIRED>
<!--
The auth-realm element defines and configures one authentication realm.
There must be at least one realm available for a server instance; any
number can be configured, as desired.
Authentication realms need provider-specific parameters which vary depending
on what a particular implementation needs; these are defined as properties
since they vary by provider and cannot be predicted for any custom or add-on
providers.
For the default file provider, the param used is: file
name: defines the name of this realm
classname: defines the java class which implements this realm
property: name/value pairs of provider implementation specific attributes.
-->
<!ELEMENT auth-realm (property*)>
<!ATTLIST auth-realm name CDATA #REQUIRED
classname CDATA #REQUIRED>
<!--
The jacc-provider element defines the standard JACC properties used for
setting up the JACC provider. It also allows optional properties which can
be used by the provider implementation for its configuration.
name: A name for this jacc-provider. Is always "default" for the default
provider.
policy-provider: Corresponds to (and can be overridden by) the system
property javax.security.jacc.policy.provider
policy-configuration-factory-provider: Corresponds to (and can be
overridden by) the system property
javax.security.jacc.PolicyConfigurationFactory.provider
-->
<!ELEMENT jacc-provider (property*)>
<!ATTLIST jacc-provider name CDATA #REQUIRED
policy-provider CDATA #REQUIRED
policy-configuration-factory-provider CDATA #REQUIRED>
<!-- Configuration for Transaction Manager.
automatic-recovery if true, server instance attempts recovery at restart.
timeout-in-seconds amount of time the transaction manager waits for
response from a datasource participating in transaction.
A value of 0 implies infinite timeout.
tx-log-dir By default the transaction log is kept in the directory
$INSTANCE-ROOT/logs/tx. If user specifies log-root
attribute under <domain> element, tx.log would appear
in that directory. User can also specify an alternative
location using transaction-service.txlog-file attribute.
The transaction service creates and uses 3 files for
logging and tracking transactions in progress.
heuristic-decision During recovery, if outcome of a transaction cannot be
determined from the logs, then this property is used
to fix the outcome.
retry-timeout-in-seconds used to determine the retry time in the following
scenarios.
1. Time to wait at the transaction recovery time,
when resources are unreachable.
2. If there are any transient exceptions in the
second phase of the 2 PC protocol.
A negative value indicates infinite retry.
'0' indicates no retry.
A positive value indicates the number of seconds for
which retry will be attempted. Default is 10 minutes
which may be appropriate for a database being restarted.
keypoint-interval property used to specify the number of transactions between
keypoint operations on the log. A Keypoint operations could
reduce the size of the transaction log files. A larger value
for this property (for example, 1000) will result in larger
transaction log files, between log compactions, but less
keypoint operations, and potentially better performance.
A smaller value (e.g. 20) results in smaller log files but
slightly reduced performance due to the greater frequency of
keypoint operations.
-->
<!ELEMENT transaction-service (property*)>
<!ATTLIST transaction-service automatic-recovery %boolean; "false"
timeout-in-seconds CDATA "0"
tx-log-dir CDATA #IMPLIED
heuristic-decision (rollback | commit ) "rollback"
retry-timeout-in-seconds CDATA "600"
keypoint-interval CDATA "2048">
<!-- Configuration for monitoring service -->
<!ELEMENT monitoring-service (module-monitoring-levels?, property*)>
<!--
The attributes of module-monitoring-levels define various monitoring levels for various components:
thread-pool all the thread-pools used by the run time.
orb ORB, its connection managers etc. (WHAT IS ETC? TBD???)
ejb-container various ejbs deployed to the server, ejb-pools, ejb-caches and ejb-methods.
transaction-service transaction subsystem.
http-service h ttp engine and the http listeners therein.
jdbc-connection-pool monitoring level for all the jdbc-connection-pools used by the runtime.
connector-connection-pool monitoring level for all the connector-connection-pools used by the runtime.
-->
<!ELEMENT module-monitoring-levels (property*)>
<!ATTLIST module-monitoring-levels thread-pool %monitoring-level; "OFF"
orb %monitoring-level; "OFF"
ejb-container %monitoring-level; "OFF"
web-container %monitoring-level; "OFF"
transaction-service %monitoring-level; "OFF"
http-service %monitoring-level; "OFF"
jdbc-connection-pool %monitoring-level; "OFF"
connector-connection-pool %monitoring-level; "OFF" >
<!-- Java Runtime environment configuration
java-home Specifies the installation directory for Java runtime.
JDK 1.4 or higher is supported.
debug-enabled If set to true, the server starts up in debug mode ready for
attaching with a JPDA based debugger.
debug-options JPDA based debugging options string.
rmic-options Options string passed to RMI compiler, at application deployment
time.
javac-options Options string passed to Java compiler, at application deployment
time.
classpath-prefix A java classpath string that is prefixed to server-classpath
classpath-suffix A java classpath string that is appended to server-classpath
server-classpath A java classpath string that specifies the classes needed by the
Application server. Do not expect users to change this under
normal conditions.
native-library-path is automatically constructed to be a concatenation of Application
Server installation relative path for its native shared libraries, standard JRE native
library path, the shell environment setting (LD-LIBRARY-PATH on Unix) and any path
that may be specified in the profile element. Since this is synthesied, it is not
required to have this appear explicitly in the server configuration.
native-library-path-prefix (native-library-path-suffix) is prepended (appended) to
the native library path, which is constricted as per the above description.
bytecode-preprocessors A comma separated list of classnames, each of which must
implement the com.sun.appserv.BytecodePreprocessor interface.
Each of the specified preprocessor class will be called in the
order specified. At the moment the comelling use is for a 3rd
party Performance Profiling tool.
env-classpath-ignored If set to false, the CLASSPATH environment variable will be
read and appended to the Application Server classpath, which
is constructed as described above. The CLASSPATH environment
variable will be added after the classpath-suffix, at the very
end.
-->
<!ELEMENT java-config (profiler? , (jvm-options | property)*)>
<!ATTLIST java-config java-home CDATA #REQUIRED
debug-enabled %boolean; "false"
debug-options CDATA "-Xdebug -Xrunjdwp:transport=dt-socket,server=y,suspend=n"
rmic-options CDATA "-iiop -poa -alwaysgenerate -keepgenerated -g"
javac-options CDATA "-g"
classpath-prefix CDATA #IMPLIED
classpath-suffix CDATA #IMPLIED
server-classpath CDATA #IMPLIED
native-library-path-prefix CDATA #IMPLIED
native-library-path-suffix CDATA #IMPLIED
bytecode-preprocessors CDATA #IMPLIED
env-classpath-ignored %boolean; "true" >
<!-- String value for options that will be passed to the JVM -->
<!ELEMENT jvm-options (#PCDATA)>
<!-- Profilers could be one of jprobe, optimizeit, hprof, wily and so on
jvm-options and property elements are used to record the settings
needed to get a particular profiler going. A server instance is tied
to a particular profiler, by the profiler element in java-config.
Changing the profiler will require a server restart.
The adminstrative graphical interfaces, could list multiple supported
profilers (incomplete at this point) and will populate server.xml
appropriately.
-->
<!ELEMENT profiler ((jvm-options | property)*)>
<!ATTLIST profiler name CDATA #REQUIRED
classpath CDATA #IMPLIED
native-library-path CDATA #IMPLIED
enabled %boolean; "true" >
<!-- SE/EE only: TBD Needs explanation
quick-checkpoint EJB container tries to convert an SFSB to
a serializable form before saving it to a checkpointing
store. If it fails to serialize the SFSB, it normally calls
the ejbPassivate() method on the SFSB, since the application
developer is expected to implement an ejbPassivate() method
to ensure that the bean is in serializable form before
passivation. However invocation of ejbPassivate() causes
additional performance overhead on the checkpointing mechanism.
By setting the quick-checkpoint flag to true, the application
deployer can ensure that the ejbPassivate() method is not invoked
on a particular SFSB, or for any SFSB within a scope
(ejb-container, a J2EE application, or an EJB module),
before checkpointing to persistent store. This minimizes the
overhead of the checkpointing operation.
checkpoint-location specifies a Stateful enterprise bean's check pointing mechanism
type. Whether checkpointing is done at the end of transaction or
at the end of method calls. The checkpoint-location element must
be one of the following: end-of-transaction or end-of-method
-->
<!ELEMENT availability-service (web-container-availability?, ejb-container-availability?, property*)>
<!ATTLIST availability-service availability-enabled %boolean; "false">
<!ELEMENT web-container-availability (property)*>
<!ATTLIST web-container-availability persistence-type %persistence-type; "memory"
persistence-frequency %session-save-frequency; #IMPLIED
persistence-scope %session-save-scope; #IMPLIED
persistence-store-health-check-enabled %boolean; "false"
sso-failover-enabled %boolean; "false"
http-session-store-pool-name CDATA #REQUIRED>
<!ELEMENT ejb-container-availability (property*)>
<!ATTLIST ejb-container-availability sfsb-checkpoint-enabled %boolean; "false"
sfsb-quick-checkpoint-enabled %boolean; "false"
sfsb-store-pool-name CDATA #REQUIRED>
<!--
Quorum Service is used by instances to determine the membership composition of the cluster.
name should correspond to the cluster name
serviceClassName Fully qualified class name of the group service provider implementation
-->
<!ELEMENT quorum-service (property*)>
<!ATTLIST quorum-service
name CDATA #REQUIRED
service-classname CDATA
"com.sun.enterprise.ee.quorum.impl.jmx.S1ASJMXGroupServiceProvider">
<!--
jdbc-connection-pool defines configuration used to create and manage
a pool physical database connections. Pool definition is named, and
can be referred to by multiple jdbc-resource elements (See <jdbc-resource>).
Each named pool definition results in a pool instantiated at server
start-up. Pool is populated when accessed for the first time. If two
or more jdbc-resource elements point to the same jdbc-connection-pool
element, they are using the same pool of connections, at run time.
name unique name of the pool definition.
datasource-classname Name of the vendor supplied JDBC datasource
resource manager. An XA or global transactions
capable datasource class will implement
javax.sql.XADatasource interface. Non XA or
Local transactions only datasources will
implement javax.sql.Datasource interface.
res-type DataSource implementation class could implement
one or both of javax.sql.DataSource, javax.sql.XADataSource
interfaces. This optional attribute must be specified to
disambiguate when a Datasource class implements both
interfaces. An error is produced when this attribute has
a legal value and the indicated interface is not implemented
by the datasource class. This attribute has no default value.
steady-pool-size minimum and initial number of connections
maintained in the pool.
max-pool-size maximum number of conections that can be created
max-wait-time-in-millis amount of time the caller will wait before getting
a connection timeout. The default is 60 seconds.
A value of 0 will force caller to wait indefinitely.
pool-resize-quantity number of connections to be removed when
idle-timeout-in-seconds timer expires. Connections
that have idled for longer than the timeout are
candidates for removal. When the pool size reaches
steady-pool-size, the connection removal stops.
idle-timeout-in-seconds maximum time in seconds, that a connection can
remain idle in the pool. After this time, the pool
implementation can close this connection. Note that
this does not control connection timeouts enforced
at the database server side. Adminsitrators are
advised to keep this timeout shorter than the database
server side timeout (if such timeouts are configured
on the specific vendor's database), to prevent
accumulation of unusable connection in Application Server.
transaction-isolation-level Specifies the Transaction Isolation Level on the pooled
database connections. Optional. Has no default. If left
unspecified the pool operates with default isolation level
provided by the JDBC Driver. A desired isolation level
can be set using one of the standard transaction isolation
levels: read-uncommitted, read-committed, repeatable-read,
serializable
Applications that change the Isolation level on a pooled
connection programmatically, risk polluting the pool and this
could lead to program errors.
Also see: is-isolation-level-guaranteed
is-isolation-level-guaranteed Applicable only when a particular isolation level is specified
for transaction-isolation-level. The default value is true.
This assures that every time a connection is obtained from
the pool, it is guaranteed to have the isolation set to the
desired value. This could have some performance impact on
some JDBC drivers. Can be set to false by that administrator
when they are certain that the application does not
change the isolation level before returning the connection.
is-connection-validation-required if true, connections are validated (checked to
find out if they are usable) before giving out to
the application. The default is false.
If is-connection-validation-required is true then connection-validation-type
specifies the type of validation to be performed. Three types of validation
are supported:
1) using connection.autoCommit(),
2) using connection.getMetaData()
3) performing a query on a user specified table (see validation-table-name).
The possible values are one of: auto-commit | meta-data | table
validation-table-name specifies the table name to be used to perform a query to
validate a connection. This parameter is mandatory, if connection-validation-type
set to table. Verification by accessing a user specified table may become necessary
for connection validation, particularly if database driver caches calls to
setAutoCommit() and getMetaData().
fail-all-connections: indicates if all connections in the pool must be
closed should a single validation check fail. The
default is false. One attempt will be made to
re-establish failed connections.
Use of property lists:
Most JDBC 2.0 drivers permit use of standard property lists, to specify User, Password
and other resource configuration. While these are optional properties, according to the
specification, several of these properties may be necessary for most databases. See
Section 5.3 of JDBC 2.0 Standard Extension API.
Name Value
databaseName Name of the Database.
serverName Database Server name.
port Port where a Database server is listening for requests.
networkProtocol Communication Protocol used.
user default name of the database user with which
connections will be stablished. Programmatic database
authentication or default-resource-principal specified
in vendor specific web and ejb deployment descriptors
will take precedence, over this default. The details
and caveats are described in detail in the
Administrator's guide.
password password for default database user
roleName The initial SQL role name.
datasourceName used to name an underlying XADataSource, or
ConnectionPoolDataSource when pooling of connections
is done
description Textual description
When one or more of these properties are specified, they are passed as is using
set<Name>(
Other Glassfish examples (source code examples)Here is a short list of links related to this Glassfish sun-domain_1_0.dtd source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.