OC4J Deployment Guide
OC4J Deployment Guide
Deployment Guide
10g (10.1.3.1.0)
B28951-01
October 2006
Oracle Containers for J2EE Deployment Guide, 10g (10.1.3.1.0)
B28951-01
Contributors: Steve Button, Tugdual Grall, Lars Ewe, Gerald Ingalls, Mike Lehmann, Jianmin Liu, Angela
Long, Jasen Minton, Debu Panda, Shiva Prasad, Chaya Ramanujam, Merrick Schincariol, Charlie Shapiro,
Gael Stevens, Sindhu Subramanyam, John Speidel
The Programs (which include both the software and documentation) contain proprietary information; they
are provided under a license agreement containing restrictions on use and disclosure and are also protected
by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly,
or decompilation of the Programs, except to the extent required to obtain interoperability with other
independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems in
the documentation, please report them to us in writing. This document is not warranted to be error-free.
Except as may be expressly permitted in your license agreement for these Programs, no part of these
Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any
purpose.
If the Programs are delivered to the United States Government or anyone licensing or using the Programs on
behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data
delivered to U.S. Government customers are "commercial computer software" or "commercial technical data"
pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As
such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation
and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license
agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial
Computer Software—Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City,
CA 94065
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently
dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup,
redundancy and other measures to ensure the safe use of such applications if the Programs are used for such
purposes, and we disclaim liability for any damages caused by such use of the Programs.
Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
The Programs may provide links to Web sites and access to content, products, and services from third
parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites.
You bear all risks associated with the use of such content. If you choose to purchase any products or services
from a third party, the relationship is directly between you and the third party. Oracle is not responsible for:
(a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the
third party, including delivery of products or services and warranty obligations related to purchased
products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from
dealing with any third party.
Contents
Preface ................................................................................................................................................................. xi
Intended Audience...................................................................................................................................... xi
Documentation Accessibility ..................................................................................................................... xi
Related Documents .................................................................................................................................... xii
Conventions ............................................................................................................................................... xiii
1 Getting Started
Overview of Deployment in OC4J........................................................................................................ 1-1
Valid Components for Deployment ................................................................................................ 1-1
Support for the J2EE Application Deployment API (JSR-88) in OC4J........................................ 1-2
Hot Deployment in OC4J .................................................................................................................. 1-2
Deployment of Applications .................................................................................................... 1-2
Deployment of Shared Libraries .............................................................................................. 1-2
Options for Deploying Applications into OC4J ................................................................................ 1-3
Application Server Control Console User Interface...................................................................... 1-3
OC4J Ant Tasks................................................................................................................................... 1-3
The admin_client.jar Command-Line Utility................................................................................. 1-4
The admin.jar Command-Line Utility............................................................................................. 1-4
Oracle JDeveloper .............................................................................................................................. 1-5
iii
Results of Errors in Deployment Descriptors ................................................................................ 2-6
iv
Overview of J2EE and OC4J Deployment Descriptors................................................................. 8-2
Creating or Editing a Deployment Plan............................................................................................... 8-3
Creating or Editing Deployment Plans with Application Server Control Console ................. 8-4
Creating or Editing Deployment Plans with Oracle JDeveloper ................................................ 8-4
Setting Properties in a Deployment Plan ............................................................................................ 8-4
Setting J2EE Application Configuration Properties ...................................................................... 8-5
Setting Web Module Configuration Properties .......................................................................... 8-11
Setting Enterprise JavaBeans Module Configuration Properties ............................................. 8-17
Setting General EJB Properties............................................................................................... 8-17
Setting Entity Bean Properties................................................................................................ 8-18
Setting Session Bean Properties ............................................................................................. 8-21
Setting Message-Driven Bean Properties ............................................................................. 8-23
Setting Web Services Configuration Properties.......................................................................... 8-24
Setting General Web Services Properties ............................................................................. 8-24
Setting Web Service Description Properties......................................................................... 8-25
Setting Application Client Configuration Properties ................................................................ 8-25
Setting Resource Adapter Properties ........................................................................................... 8-26
v
Invoking a Task on a Specific OC4J Instance....................................................................... 10-6
Invoking a Task on a Standalone OC4J Server .................................................................... 10-7
Enabling Logging ............................................................................................................................ 10-7
Invoking the OC4J Ant Tasks ........................................................................................................ 10-8
Deploying an Archive .......................................................................................................................... 10-9
Deploying a J2EE Application (EAR)........................................................................................... 10-9
Properties for EAR Deployment ............................................................................................ 10-9
Deploying a Standalone Web Module (WAR).......................................................................... 10-10
Deploying a Standalone Resource Adapter (RAR) .................................................................. 10-11
Binding Web Modules to a Web Site After Deployment ............................................................ 10-12
Bind All Web Modules to a Single Web Site ............................................................................. 10-12
Bind a Web Module to a Specific Web Site and Set the Context URI.................................... 10-13
Redeploying an Archive .................................................................................................................... 10-14
Undeploying an Archive.................................................................................................................... 10-15
Updating Modified Classes in a Deployed EJB Module............................................................. 10-15
Creating and Managing Shared Libraries ...................................................................................... 10-16
Installing a Shared Library .......................................................................................................... 10-16
Modifying an Existing Shared Library....................................................................................... 10-18
Removing a Shared Library......................................................................................................... 10-19
Starting, Restarting, and Stopping Applications .......................................................................... 10-20
Restarting and Stopping OC4J Instances ....................................................................................... 10-20
Managing Data Sources ..................................................................................................................... 10-20
Adding, Testing, and Removing Data Source Connection Pools .......................................... 10-21
Adding a Data Source Connection Pool ............................................................................. 10-21
Testing a Data Source Connection Pool.............................................................................. 10-22
Removing a Data Source Connection Pool......................................................................... 10-22
Adding, Testing, and Removing Data Sources......................................................................... 10-23
Adding a Managed Data Source.......................................................................................... 10-23
Removing a Managed Data Source ..................................................................................... 10-24
Adding a Native Data Source .............................................................................................. 10-24
Removing a Native Data Source.......................................................................................... 10-25
Testing a Database Connection............................................................................................ 10-26
Testing a Data Source ........................................................................................................... 10-27
Getting the Data Sources Descriptor for an Application ................................................. 10-27
Managing JMS Resources.................................................................................................................. 10-28
Managing JMS Connection Factories ........................................................................................ 10-28
Adding a JMS Connection Factory ...................................................................................... 10-28
Removing a JMS Connection Factory ................................................................................. 10-29
Getting Information About JMS Connection Factories .................................................... 10-29
Managing JMS Destinations ........................................................................................................ 10-30
Adding a JMS Destination .................................................................................................... 10-30
Removing a JMS Destination ............................................................................................... 10-31
Getting Information About JMS Destinations ................................................................... 10-31
vi
Deploying to a Group of OC4J Instances Within a Cluster ............................................... 11-3
Deploying to a Specific OC4J Instance.................................................................................. 11-4
Deploying to a Standalone OC4J Server............................................................................... 11-4
Validating a URI....................................................................................................................... 11-5
Downloading and Extracting the Remote Administration Client ........................................... 11-5
Printing Usage Text to the Console .............................................................................................. 11-6
Enabling Logging ............................................................................................................................ 11-7
Deploying an Archive .......................................................................................................................... 11-7
Deploying a J2EE Application (EAR)........................................................................................... 11-8
Deploying a J2EE Application from a Remote Client................................................................ 11-9
Deploying a Standalone Web Module (WAR).......................................................................... 11-10
Deploying a Standalone Resource Adapter (RAR) .................................................................. 11-11
Using a Script File for Batch Deployment ................................................................................. 11-12
Binding Web Modules to a Web Site After Deployment ............................................................ 11-12
Bind All Web Modules to a Single Web Site ............................................................................. 11-13
Bind a Specific Web Module to a Specific Web Site and Set the Context Root .................... 11-13
Redeploying an Archive .................................................................................................................... 11-13
Undeploying an Archive.................................................................................................................... 11-14
Undeploying an EAR or Standalone WAR ............................................................................... 11-14
Undeploying a Standalone RAR ................................................................................................. 11-14
Updating Modified Classes in a Deployed EJB Module............................................................. 11-15
Creating and Managing Shared Libraries ...................................................................................... 11-15
Installing a Shared Library .......................................................................................................... 11-15
Modifying an Existing Shared Library....................................................................................... 11-17
Viewing the Contents of a Shared Library ................................................................................ 11-17
Listing All Shared Libraries......................................................................................................... 11-18
Removing a Shared Library......................................................................................................... 11-18
Starting, Restarting, and Stopping Applications .......................................................................... 11-18
Restarting and Stopping OC4J Instances ....................................................................................... 11-18
Restarting an OC4J Instance or Group of Instances................................................................. 11-19
Stopping an OC4J Instance or Instances .................................................................................... 11-19
Managing Data Sources ..................................................................................................................... 11-19
Adding, Testing, and Removing Data Source Connection Pools .......................................... 11-20
Adding a Data Source Connection Pool ............................................................................. 11-20
Testing a Data Source Connection Pool.............................................................................. 11-20
Removing a Data Source Connection Pool......................................................................... 11-21
Adding, Testing, and Removing Data Sources......................................................................... 11-21
Adding a Managed Data Source.......................................................................................... 11-21
Removing a Managed Data Source ..................................................................................... 11-22
Adding a Native Data Source .............................................................................................. 11-23
Removing a Native Data Source.......................................................................................... 11-23
Testing a Database Connection............................................................................................ 11-24
Testing a Data Source ........................................................................................................... 11-24
Getting the Data Sources Descriptor for an Application ................................................. 11-25
Managing JMS Resources.................................................................................................................. 11-25
Managing JMS Connection Factories ........................................................................................ 11-25
Adding a JMS Connection Factory ...................................................................................... 11-25
vii
Removing a JMS Connection Factory ................................................................................. 11-26
Getting Information About JMS Connection Factories .................................................... 11-26
Managing JMS Destinations ........................................................................................................ 11-26
Adding a JMS Destination .................................................................................................... 11-26
Removing a JMS Destination ............................................................................................... 11-27
Getting Information About JMS Destinations ................................................................... 11-27
Managing OC4J Through a Remote Client .................................................................................... 11-28
Using admin_client.jar Commands Remotely .......................................................................... 11-28
Connecting to a Remote Oracle Application Server Instance Using JConsole .................... 11-28
Using a JMX Programmatic Client to Manage OC4J Remotely ............................................. 11-29
viii
Errors for Number of Open Files .................................................................................................. 15-3
Index
ix
x
Preface
Intended Audience
This document is intended for the following audiences:
■ Professional services people who deploy applications into OC4J
■ A systems administrator responsible for configuring and administering an OC4J
installation
■ A developer or architect involved in creating or designing a J2EE application who
wants to avoid design pitfalls that could cause deployment and scalability
problems
The documentation is based on the assumption that readers are already familiar with
the following topics:
■ General Web technology
■ The J2EE environment
■ General system administration
Documentation Accessibility
Our goal is to make Oracle products, services, and supporting documentation
accessible, with good usability, to the disabled community. To that end, our
documentation includes features that make information available to users of assistive
technology. This documentation is available in HTML format, and contains markup to
facilitate access by the disabled community. Accessibility standards will continue to
evolve over time, and Oracle is actively engaged with other market-leading
technology vendors to address technical obstacles so that our documentation can be
accessible to all of our customers. For more information, visit the Oracle Accessibility
Program Web site at http://www.oracle.com/accessibility/.
xi
Accessibility of Code Examples in Documentation
Screen readers may not always correctly read the code examples in this document. The
conventions for writing code require that closing braces should appear on an
otherwise empty line; however, some screen readers may not always read a line of text
that consists solely of a bracket or brace.
Related Documents
For more information, see the following Oracle resources.
Additional OC4J documents:
■ Oracle Containers for J2EE Configuration and Administration Guide
This discusses how to configure and administer applications for OC4J, including
use of the Oracle Enterprise Manager 10g Application Server Control Console, use
of standards-compliant MBeans provided with OC4J, and, where appropriate,
direct use of OC4J-specific XML configuration files.
■ Oracle Containers for J2EE Developer’s Guide
This discusses items of general interest to developers writing an application to run
on OC4J, issues that are not specific to a particular container, such as the servlet,
EJB, or JSP container. (An example is class loading.)
■ Oracle Containers for J2EE Servlet Developer’s Guide
This provides information for servlet developers regarding use of servlets and the
servlet container in OC4J, including basic servlet development and use of JDBC
and EJBs.
■ Oracle Containers for J2EE Support for JavaServer Pages Developer’s Guide
This provides information about JavaServer Pages development and the JSP
implementation and container in OC4J. This includes discussion of Oracle features
such as the command-line translator and OC4J-specific configuration parameters.
■ Oracle Containers for J2EE JSP Tag Libraries and Utilities Reference
This provides conceptual information as well as detailed syntax and usage
information for tag libraries, JavaBeans, and other Java utilities provided with
OC4J.
■ Oracle Containers for J2EE Services Guide
This provides information about standards-based Java services supplied with
OC4J, such as JTA, JNDI, JMS, JAAS, and the Oracle Application Server Java
Object Cache.
■ Oracle Containers for J2EE Security Guide
xii
This document describes security features and implementations particular to
OC4J. This includes information about using JAAS, the Java Authentication and
Authorization Service, as well as other Java security technologies.
■ Oracle Containers for J2EE Enterprise JavaBeans Developer’s Guide
This provides information about Enterprise JavaBeans development and the EJB
implementation and container in OC4J.
■ Oracle Containers for J2EE Resource Adapter Administrator’s Guide
This document provides an overview of J2EE Connector Architecture features and
describes how to configure and monitor resource adapters in OC4J.
Oracle Application Server documents:
■ Oracle Application Server Web Services Developer’s Guide
This describes Web services development and configuration in OC4J and Oracle
Application Server.
■ Oracle Application Server Advanced Web Services Developer’s Guide
This book describes topics beyond basic Web service assembly. For example, it
describes how to diagnose common interoperability problems, how to enable Web
service management features (such as reliability, auditing, and logging), and how
to use custom serialization of Java value types.
This book also describes how to employ the Web Service Invocation Framework
(WSIF), the Web Service Provider API, message attachments, and management
features (reliability, logging, and auditing). It also describes alternative Web
service strategies, such as using JMS as a transport mechanism.
■ Oracle Application Server Web Services Security Guide
This describes Web services security and configuration in OC4J and Oracle
Application Server.
Conventions
The following text conventions are used in this document.
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
xiii
xiv
1
Getting Started
All J2EE-compliant archive files deployed into OC4J must be packaged in accordance
with the guidelines specified in the J2EE 1.4 specification. This includes packaging the
J2EE standard deployment descriptors required for each type of component, such as
the J2EE Application Descriptor (application.xml) for applications and the J2EE
Web Descriptor (web.xml) for Web modules.
See the “Application Assembly and Deployment” chapter of the Java 2 Platform
Enterprise Edition Specification, Version 1.4 for details.
Deployment of Applications
Hot deployment or redeployment of an application or standalone module into OC4J is
generally supported as long as the following conditions are true:
■ No changes are made during the deployment process to existing data source, JMS,
or RMI configuration files.
■ The structure of an Enterprise JavaBean that replaces an existing EJB has not
changed.
restarted on redeployment and should pick up the new shared library version (as long
as the library is available).
Oracle JDeveloper
Oracle JDeveloper 10g is a J2EE integrated development environment with end-to-end
support for developing, debugging, and deploying e-business applications and Web
services.
JDeveloper enables you to build J2EE applications and Web services from scratch, or
jump-start the process by beginning with a J2EE framework. Whichever approach you
prefer, JDeveloper offers a full suite of productivity tools to support your work from
start to finish.
JDeveloper provides the ability to deploy a J2EE application into an OC4J instance
directly from within the project structure. It also enables you to create a deployment
plan and optionally save it as an XML file.
See the online help provided with JDeveloper for instructions on deploying
applications.
This chapter describes deploying a J2EE application packaged within an EAR file into
an OC4J instance and undeploying a J2EE application from an OC4J instance. The
chapter includes the following sections:
■ Overview of the Application Deployment Process
■ OC4J Application Deployment Process
■ Overview of Redeploying an Application
■ Overview of Undeploying an Application
class for each EJB packaged within an EJB JAR. The wrapper classes generated for the
EJBs within an EJB JAR are contained within an archive named
deployment-cache.jar, which is in turn contained within a generated JAR file
with the same name as the deployed EJB JAR.
j2ee/oc4j1/
application-deployments/
utility/
orion-application.xml
utility_web/
orion-web.xml
utility_ejb.jar/
orion-ejb-jar.xml
deployment-cache.jar/
UtilityManager_StatefulSessionBeanWrapper.class
applications/
utility.ear
utility/
utility_web.war
utility_ejb.jar
META-INF/
application.xml
utility_web/
index.html
META-INF/
WEB-INF/
web.xml
classes/
Example.class
When OC4J starts up, this application fails to load, and its <application> element is
deleted from the server.xml file. Removing the extra slash from the <jazn> element
in orion-application.xml and restarting OC4J does not load the application
because it is no longer deployed.
Before OC4J can load an application that had an error in its deployment descriptor,
you need to correct the error and restore the entry for the application, and the entries
for any child applications, in <server.xml>. You can restore an <application>
element by deploying the application from scratch or by manually editing the
<server.xml> file. For more information, see "Options for Deploying Applications
into OC4J" on page 1-3 or "Appendix B, Configuration Files Used in OC4J" in the
Oracle Containers for J2EE Configuration and Administration Guide.
Note: If you are using the Application Server Control Console, EJB
3.0 entities deployed with session beans are not visible in the
Application Server Control view of the EJB JAR module. After you
deploy EJB 3.0 entities to OC4J, you cannot manage them through the
Application Server Control Console. If you use Application Server
Control to view your EJB module, the Entity Beans area will display
"No entity beans found".
You can manage all other EJB 3.0 beans such as session beans. For
example, if you deploy an EJB module that contains both EJB 3.0
entities and EJB 3.0 session beans, your session beans will be visible
through Application Server Control.
For more information about managing EJBs, see the Oracle Containers
for J2EE Enterprise JavaBeans Developer’s Guide.
HOME/j2ee/instance/application-deployments/appName directory.
In addition, stubs for each individual EJB module are generated in an archive
with the same name in the ORACLE_
HOME/j2ee/instance/application-deployments/appName/ejbModu
leName directory.
■ Include iiopClientJarPath to generate stubs in the same locations
specified above, as well as to the path specified with the switch.
For CMP or BMP entity beans, OC4J uses code generation to generate the server
implementation of the EJB interfaces (wrappers). In this case, incrementally
redeploying only changed beans is most likely to be more efficient than redeploying
the entire application.
For session beans, message-driven beans, and EJB 3.0 JPA entities, OC4J uses byte code
generation to generate wrappers. Because this approach reduces deployment time so
much, it may be just as efficient to redeploy the entire application as to redeploy only
changed beans. In this case, incremental redeployment is optional.
The general procedure for using incremental deployment is as follows:
1. Deploy an application with a large number of enterprise beans.
2. Change a bean-related class file in an EJB module and rebuild the EJB JAR file (for
example, myBeans-ejb.jar).
3. Submit the updated EJB JAR to OC4J using any of the following tools:
■ JDeveloper
■ Application Server Control Console
See Chapter 9, "Using the Application Server Control Console for
Deployment".
This chapter provides guidelines for configuring OC4J and the Java compiler for
deployment of large J2EE applications that contain large numbers of Enterprise
JavaBeans (approximately 100 or more).
This chapter includes the following sections:
■ Specifying the Compilation Mode to Use
■ Configuring the Java Compiler
■ Tuning the OC4J JVM for Large Deployments
Batch Mode
This is the default compilation mode used by OC4J. In general, batch mode provides
faster time to deployment when you are deploying large, EJB-heavy applications.
However, it also requires a greater heap memory allocation than the nonbatch mode of
deployment.
In this mode, OC4J makes a single call to the Java compiler to compile all of the Java
wrapper code for all of the EJBs within the EAR being deployed.
If the compiler is configured to run in out-of-process mode, which it is by default in
OC4J, then OC4J will create a single JVM process to execute compilation of the
wrapper code. See "Configuring Out-of-Process or In-Process Compiler Execution" on
page 4-3 for instructions on configuring the compiler to run out-of-process or in the
same JVM process as OC4J.
Nonbatch Mode
If you find that OC4J throws java.lang.OutOfMemory exceptions while compiling
in batch mode, you might want to compile in nonbatch mode instead because it
requires less memory allocation. However, using this mode will result in a longer time
to deployment.
In this mode, OC4J makes multiple calls to the compiler, one for each EJB JAR file
within the EAR being deployed.
If the Java compiler is configured to run in out-of-process mode, OC4J will create a
JVM process for each EJB JAR file included in the EAR file being deployed.
To deploy in nonbatch mode, set the batch-compile attribute of the
<orion-application> element in application.xml or
orion-application.xml to false. For example:
<orion-application ... batch-compile="false" .../>
Out-of-Process
In this mode, a separate JVM process is spawned for the compiler to execute within.
This is the default compiler execution mode used by OC4J because it offers better
management of memory resources. Once compilation of the EJB wrapper classes is
complete, the memory allocated to the associated JVM will be released and made
available to other processes.
Set the in-process attribute of the <java-compiler> element to false to execute
the compiler in this mode.
In-Process
In this mode, the compiler executes within the same JVM process as OC4J. Set the
in-process attribute of the <java-compiler> element to true to execute in this
mode.
To determine the value for the -XX:MaxPermSize property - including young and
old generation sizes - you can use visualgc to monitor the OC4J JVM during
application deployment. The visualgc garbage collection monitoring tool is included
with the free jvmstat 3.0 distribution available from Sun Microsystems. See the
following Web site for more information and to download the tool:
http://java.sun.com/performance/jvmstat/
This chapter discusses deploying and redeploying Web modules into an OC4J
instance. It includes the following topics:
■ Deploying a Standalone Web Module
■ Redeploying a Standalone Web Application
■ Redeploying an Updated Web Module into an Existing Application
■ Adding or Modifying JavaServer Pages in an Active Web Module
Existing sessions are either purged or serialized out to a file in the persistence
directory specified for the Web application, which is defined in the
persistence-path attribute of the <orion-web-app> element. When the newly
deployed application is started, it looks in the persistence directory for the file
containing the serialized sessions.
Notes:
■ If you update a servlet .class file under
/WEB-INF/classes, then upon the next request, the servlet
and its dependency classes are reloaded and the Web
application is automatically redeployed if automatic
deployment (OC4J polling) is enabled.
For information about OC4J polling, seeChapter 14, "Using Automatic
Deployment in OC4J".
■ Redeployment does not significantly affect OC4J-specific
descriptors such as orion-application.xml and
orion-web.xml in the server deployment directory. After you
trigger reloading, the previously copied or generated files will
keep any previously specified nondefault settings.
This might be useful, for example, when you deploy or redeploy compiled
classes, but not JSP pages, from a development environment to a production
environment.
■ Do Nothing
Set this parameter to disable the auto-reload feature. New or updated JSPs will
not be automatically loaded into the OC4J runtime, and the container will not
perform any timestamp, any retranslating of JSP pages, or any reloading of
generated Java classes. This is the most efficient mode for a production
environment, in which JSP pages are not expected to change frequently.
4. Restart the OC4J instance for your changes to take effect.
This scenario assumes that any dependent classes already exist within the deployed
Web module, and that the JSP updates do not require any changes to the web.xml or
orion-web.xml configuration file. If either of these conditions is false, the Web
module must be repackaged as a WAR file and redeployed with the full application
within an EAR file.
For deploying a standalone resource adapter (RAR) to a specific OC4J instance or to all
OC4J instances in a group within a cluster, you can use one of these tools:
■ Application Server Control Console
See "Using the Application Server Control Console for Deployment" on page 9-1.
■ deploy Ant task
See "Deploying a Standalone Resource Adapter (RAR)" on page 10-11.
■ admin_client.jar command-line utility
See "Deploying a Standalone Resource Adapter (RAR)" on page 11-11.
Although admin_client.jar is the preferred command-line utility, you can use
admin.jar instead to deploy a RAR to a standalone OC4J server. For details on
deploying a resource adapter with admin.jar, see "Deploying or Redeploying a
Standalone Connector" on page 6-3.
This chapter discusses deployment and redeployment of Web services. It includes the
following topics:
■ Deploying a Web Service
■ Redeploying a Web Service?
This chapter provides instructions on creating and using deployment plans, which
facilitate the process of editing and reusing configuration data when you are
deploying archives into OC4J. It includes the following sections:
■ Deployment Plan Overview
■ Creating or Editing a Deployment Plan
■ Setting Properties in a Deployment Plan
applicationId
Contains a server-defined string that specifies the application’s unique identifier.
autoCreateTables
Set to true to automatically create database tables for CMP Enterprise JavaBeans in
this application. The default is false.
autoDeleteTables
Specifies whether old database tables for CMP beans should automatically be deleted
when this application is redeployed. The default is false.
cluster
Configures OC4J application clustering at the application level. Application clustering
is typically configured at the global level; however, application-level settings will
override the global configuration. See Oracle Containers for J2EE Configuration and
Administration Guide for a detailed overview of the OC4J clustering framework.
■ enabled: Specifies whether clustering is enabled for the application. The default
is true. Setting this value at the application level overrides the value inherited
from the parent application. Clustering can be enabled or disabled for a specific
application.
■ groupName: The name to use when establishing the replication group channels. If
not supplied, the application name as defined in server.xml, the OC4J server
configuration file, is used by default, and new group channels are created for each
enterprise application.
If a value is specified, the application and all child applications will use the
channels associated with this application group name.
■ allowColocation: Specifies whether to allow the application state to be
replicated to an application group member residing on the same host machine.
The default is true.
If multiple OC4J instances are instantiated on the same machine, different listener
ports must be specified for each instance in the default-web-site.xml,
jms.xml, and rmi.xml configuration files.
■ writeQuota: The number of other application group members (JVMs) to which
the application state should be replicated. This attribute makes it possible to
reduce overhead by limiting the number of nodes state is written to, similar to the
"islands" concept used in previous OC4J releases. The default is 1 group member.
■ cacheMissDelay: The length of time, in milliseconds, to wait in-process for
another application group member to respond with a session if the session cannot
be found locally. If the session cannot be found, the request will pause for the
entire length of time specified. The default is 1000 milliseconds (1 second).
connectorsPath
Defines a plug-in connector deployed with the application.
■ path: The name and path of the oc4j-connectors.xml file. If not specified,
then OC4J uses the default path, ORACLE_
HOME/j2ee/instance/connectors/rarName./oc4j-connectors.xml.
dataSourcesPath
Specifies the path and file name of the XML file defining data sources to be used by the
application.
The default data-sources.xml file, which defines the default data source used by
OC4J, is installed in the ORACLE_HOME/j2ee/instance/config/ directory.
■ path: The path to the XML file. The path can be fixed or relative to the location of
the orion-application.xml descriptor, which is ORACLE_
HOME/j2ee/instance/config/ by default.
defaultDataSource
Defines the default data source to use if other than server default. This must point to a
valid CMT data source for this application if specified.
deploymentVersion
Defines the version of OC4J that this JAR was deployed against. If this version does
not match the current version, then the JAR will be redeployed. This is an internal
server value; do not edit.
enableIIOP
Set to true to enable IIOP. The default is false.
importedLibraries
Defines one or more shared libraries to be imported by the application, as well as one
or more shared libraries to delete from the set of libraries inherited by default from the
parent application.
■ editImport: Specifies a shared library to be imported by the application.
– maxVersion: The highest implementation version of the shared library to
import. (To import the latest version of a shared library, do not specify a
version.)
jazn
Configures the Java Authentication and Authorization Service (JAAS) to use the
XML-based configuration provider type. This property maps to the <jazn> element of
orion-application.xml. For information about using the <jazn> element for an
application, see the description of the <jazn> element of the jazn.xml file in the
Oracle Containers for J2EE Security Guide.
■ provider: Set to XML
■ location: Set the path to the jazn-data.xml file (for example:
./jazn-data.xml). This can be an absolute path, or a path relative to the
jazn.xml file, where the JAAS Provider first looks for the jazn-data.xml in
the directory containing the jazn.xml file. Optional if jazn.xml file configured,
otherwise required.
■ persistence Values are NONE (do not persist changes), ALL (persist changes
after every modification), VM_EXIT (The default - persist changes when the JVM
exits)
■ default-realm: A realm name. For example: sample_subrealm. Optional if
only one realm is configured.
For more information about JAAS configuration and the jazn-data.xml and
jazn.xml files, see the Oracle Containers for J2EE Security Guide.
jaznLoginConfig
Contains data used to associate the application with a JAAS login module. These
properties correspond to the <jazn-loginconfig> element and its subelements in
the jazn-data.xml file and should be displayed only if the JAZN XML-based
provider will be used by the application.
■ className: The login module implementation class.
■ controlFlag:Indicates whether the login module is required to succeed to
proceed with authentication.
■ options: A collection of one or more properties to pass to the login module as
name and value pairs. For example: name debug, value true.
See the Oracle Containers for J2EE Security Guide for details about the jazn-data.xml
file and these properties.
jmxMBeans
Defines one or more MBeans deployed with the application. Specify each property
below for each MBean being deployed.
■ className: The MBean implementation class.
■ description: A string containing a readable name for the MBean. This name
will be displayed in the Application Server Control Console user interface.
■ objectName: The name to register the MBean under. The domain part of the
name will be ignored even if specified; application MBeans are registered using
the application’s deployment name as the domain name.
For example, if you deploy an MBean named MyMBeanA with an application
named widget, supply:name=MyMBeanA as the value of this attribute. The name
will then be displayed as widget:name=MyMBeanA.
libraries
Specifies either a relative or absolute path or URL to a directory or a JAR or ZIP
archive to add as a library path for this OC4J instance. Directories are scanned for
archives to include at OC4J startup.
■ path: The path to the directory or archive.
log
Sets the logging configuration for the application.
■ file: The optional path to the directory where text log files will be generated if
text logging will be used by the application. The default location for text log files is
ORACLE_
HOME/j2ee/instance/application-deployments/application_
name/application.log. The default log file name and path should not be
modified.
■ mail: Optionally set the e-mail address to which to mail log output. A valid
mail-session must also be specified through the mailSessions property if this
option is selected.
■ odl: Configures Oracle Diagnostic Logging to be used by the application. The
ODL framework provides plug-in components that complement the standard Java
framework to automatically integrate log data with Oracle log analysis tools. In
the ODL framework, log files are formatted in XML, enabling other Oracle
Application Server and custom-developed components to parse and reuse the log
files more easily.
– maxDirectorySize: The maximum size, in bytes, allowed for the log file
directory. When this limit is exceeded, log files are purged, beginning with the
oldest files.
– maxFileSize: The maximum size, in bytes, that an individual log file is
allowed to grow to. When this limit is reached, a new log file is generated.
– path: The path to the folder to output the log.xml files for this component
to. The path can be absolute or relative to the XML configuration file you are
modifying.
For example, to output log.xml files in a /hello-planet-xml directory
within ORACLE_HOME/j2ee/instance/log/, set the path attribute to
"../../log/hello-planet-xml".
mailSessions
Defines the mail session SMTP host, if SMTP is used by the application.
■ location: The location within the namespace to store the mail session in.
■ smtp-host: The session SMTP server host.
namespaceAccess
Sets the namespace or naming context security policy for RMI clients.
parentApp
Specifies the name of the application that serves as the parent of this application. This
value is set during deployment.
persistencePath
Defines the path to a directory where application state data should be stored across
application restarts. The path can be absolute or relative to the application root.
■ path: The path to the persistence directory.
resourceProviders
Defines a resource provider.
■ className: The name of the resource provider class.
■ name: The name used to identify the resource provider. This name will be used in
finding the resource provider in the application’s JNDI as
"java:comp/resource/name/".
■ description: An optional description of the specific resource provider.
■ properties: Set name and value property pairs to pass to the resource provider
as parameters.
seeParentDataSources
Specifies whether the application should inherit the existing data sources defined for
its parent application. The default is false.
taskManagerInterval
Defines the interval at which the task manager performs its duties, in milliseconds.
The task manager is a background process that performs cleanup activities. By default,
it is started every second (1000 milliseconds).
treatZeroAsNull
Specifies whether to read the value zero as null when it represents a primary key. The
default is false.
userManagerByClass
Specifies an optional UserManager class to use, which can be any class that
implements the com.evermind.security.UserManager interface. For example,
com.evermind.sql.DataSourceUserManager or
com.evermind.ejb.EJBUserManager. These classes are typically used to integrate
existing systems and provide custom user-managers for Web applications.
■ className: The fully qualified classname of the UserManager.
■ description: An optional text description.
■ displayName: A descriptive name for this UserManager instance.
■ properties: One or more properties as name and value pairs to be passed to the
UserManager. For example:
name="groupMembershipGroupFieldName" value="group"
name="groupMembershipUsernameFieldName" value="Userid"
webSiteBinding
Specifies the name of the Web site the application’s Web module is bound to. By
default, all applications deployed into OC4J are bound to the default Web site. See
the Oracle Containers for J2EE Configuration and Administration Guide for details on
creating and using Web sites in OC4J.
accessMask
Specifies optional access masks for this application. You can specify host names or
domains to filter clients through the hostAccess property; specify IP addresses and
subnets to filter clients in ipAccess; or define both.
■ default: Specifies whether to allow requests from clients not identified through a
hostAccess or ipAccess property. Supported values are allow (default) and
deny.
■ hostAccess: Specifies a host name or domain from which to allow or deny
access.
■ domain: The host or domain.
■ mode: Whether to allow or deny access from the specified host or domain.
Supported values are allow (default) or deny.
■ ipAccess: Specifies an IP address and subnet mask from which to allow or deny
access.
■ ip: The IP address, as a 32-bit value; for example: 123.124.125.126.
■ netmask: The relevant subnet mask; for example: 255.255.255.0.
■ mode: Whether to allow or deny access from the specified IP address and
subnet mask. Supported values are allow (default) or deny.
autoJoinSession
Specifies whether users should be assigned a session as soon as they log in to the
application. The default is false.
classpath
Specifies additional code locations for Web application classloading. These can be
either library files or locations for individual class files.
■ path: The path(s) to one or more code locations, separated by commas or
semicolons. A location can be one of the following:
– The complete path to a JAR or ZIP file, including the file name
– A directory path
If you specify a directory path, the class loader recognizes only individual class
files in the specified directory, not JAR or ZIP files (unless those are specified
separately).
The class loader recognizes the following:
– The lib1.jar and zip1.jar libraries (but no other libraries in /abc/def)
– Any class files in /abc/def
– Any class files in mydir, relative to the location of the generated
orion-web.xml file
defaultBufferSize
Specifies the default size of the output buffer for servlet responses, in bytes. The
default is 2048.
defaultCharset
Specifies the ISO character set to use by default. The default is "iso-8859-1".
defaultMimeType
Specifies the default MIME type to use for files with unknown or unrecognized
extensions.
deploymentVersion
Specifies the version of OC4J under which this Web application was deployed. If this
value does not match the current version, then the application is redeployed. This is an
internal server value and should not be changed.
development
This property is a convenience for use during development. If set to true, then the
OC4J server checks a particular directory for updates to servlet source files. If a source
file has changed since the last request, then OC4J will, upon the next request,
recompile the servlet, redeploy the Web application, and reload the servlet and any
dependency classes.
The directory is determined by the setting of the sourceDirectory attribute
(described in the following text).
directoryBrowsing
Specifies whether to allow directory browsing for a URL that ends in "/". Values are
allow and deny (default).
Assume the following circumstances:
■ There is no index.htmlfile in the directory the URL is mapped to.
■ There is no "welcome" page defined in the web.xml file.
If set to allow under these circumstances, then a URL ending in "/" results in the
contents of the corresponding directory being displayed in the user’s browser.
If set to deny under these circumstances, then a URL ending in "/" results in an error
indicating that the directory contents cannot be displayed.
If there is a defined welcome file or there is an index.html file in the directory the
URL is mapped to, then the contents of that file are displayed, regardless of this
setting.
enableJspDispatcherShortcut
A true setting, which is the default, results in significant performance improvements
by the OC4J JSP container, especially in conjunction with a true setting for the
simpleJspMapping property. This is particularly true for JSP pages with numerous
jsp:include tags.
Use of the true setting assumes, however, that if you define JSP files with
<jsp-file> elements in web.xml, you have corresponding url-pattern
definitions for those files.
expirationSettings
Defines the length of time before a specified set of resources - such as image files - will
expire in the user’s browser. This is useful for caching policies, such as for not
reloading images as frequently as documents.
■ expires: The number of seconds before the resources expiration, or "never" for
no expiration. The default setting is "0" (zero), for immediate expiration.
■ urlPattern: The URL pattern that the expiration applies to, such as in the
following example:
urlPattern="*.gif"
fileModificationCheckInterval
Defines the interval, in milliseconds, at which OC4J checks for modified files. This
property applies only to static files, such as HTML files.
Within the time period since the last check, further checks are not necessary. Zero or a
negative number specifies that a check always occurs. The default is 1000. For
performance reasons, a very large value (1000000, for example) is recommended in a
production environment.
id
Defines a unique internal identifier generated at the time of deployment.
jaznWebApp
Configures the OracleAS JAAS Provider and Single Sign-On (SSO) properties for
servlet execution. You must set these features appropriately to invoke a servlet under
the privileges of a particular security subject.
■ authMethod: Supported values are BASIC (for basic J2EE authentication, the
default) and SSO. Use SSO to employ Oracle Single Sign-On for HTTP client
authentication. Use BASIC mode if the application uses a custom LoginModule
instance.
■ runAsMode: Set to true to invoke the servlet using the privileges of a particular
subject. A subject is defined by an instance of the
javax.security.auth.Subject class and includes a set of facts regarding a
single entity, such as a person. Such facts include identities and security-related
attributes, such as passwords and cryptographic keys.
With the default runas-mode="false" setting, doasprivileged-mode is
ignored.
jspCacheDirectory
Specifies the JSP cache directory, which is used as a base directory for output files from
the JSP translator. It is also used as a base directory for application-level TLD caching.
The default value is ./persistence, relative to the application deployment
directory.
jspCacheTlds
Indicates whether persistent TLD caching is enabled for JSP pages. TLD caching is
implemented both at a global level, for TLD files in "well-known" tag library locations,
and at an application level, for TLD files under the /WEB-INF directory. Values are
standard (default), on or off. Well-known locations are defined in the
jspTaglibLocations property (documented in the following text). For more
information on these values, see the Oracle Containers for J2EE Support for JavaServer
Pages Developer’s Guide.
jspPrintNull
Set to false to print an empty string instead of the default "null" string for null
output from a JSP page. The default is true.
jspTaglibLocations
Defines the locations of shared tag libraries. This value can be set at the global
application level only.
jspTimeout
Specifies an integer value, in seconds, after which any JSP page will be removed from
memory if it has not been requested. This frees up resources in situations in which
some pages are called infrequently. The default value is 0 (zero), for no timeout.
mimeMappings
Defines the path to a file containing MIME mappings to use.
■ path: The path or URL for the file, either absolute or relative to the location of the
orion-web.xml file.
persistencePath
Indicates where to store servlet HttpSession objects for persistence across server
restarts or application redeployments. Specify a relative path, which will be relative to
an OC4J temporary storage area under the application-deployments directory.
There is no default value. If no value is defined, then there is no persistence of session
objects across restarts or redeployments.
Session objects must be serializable (directly or indirectly implementing the
java.io.Serializable interface) or remoteable (directly or indirectly
implementing the java.rmi.Remote interface) for this feature to work.
requestTrackers
Specifies one or more servlets to use as dedicated request trackers. Request trackers are
useful for logging information, for example.
A request tracker is invoked for each separate request sent from a browser to the
server, at the time that the corresponding response is committed (immediately before
the response is actually sent).
There can be multiple request trackers, each one defined in a separate property.
■ servletName: The servlet to invoke. You can specify either the servlet name or
the class name, according to the corresponding <servlet-name> or
<servlet-class> element (both of which are subelements of a <servlet>
element) in the web.xml file.
servletChaining
Specifies a servlet to call when the response of the current servlet is set to a specified
MIME type. The specified servlet is called after the current servlet. This is known as
servlet chaining, for filtering or transforming certain kinds of output.
■ mimeType: The MIME type used to trigger the chaining, such as "text/html".
■ servletName: The servlet to call when the specified MIME type is encountered.
The servlet name is tied to a servlet class through its definition in the <web-app>
element of global-web-application.xml, web.xml, or orion-web.xml.
servletWebdir
Specifies the path for invoking a servlet by class name. Anything appearing after this
path in a URL is assumed to be a class name, including the package.
The following example illustrates servlet invocation by class name, assuming this
property is set to "/servlet/":
http://www.example.com:8888/servlet/foo.bar.SessionServlet
sessionTracking
Specifies the session-tracking settings for this application. Session tracking is
accomplished using cookies, assuming a cookie-enabled browser.
■ cookies: Set to enabled (default) to send session cookies; set to disabled to
disable this setting.
■ cookieDomain: Set to the desired domain to use for cookies. You can use this
attribute to track a single client or user over multiple Web sites. The setting must
start with a period (".") and must consist of at least two elements, such as
.us.oracle.com or .oracle.com.
In this case, the same cookie is used when the user visits any site that matches the
.us.oracle.com domain pattern, such as webserv1.us.oracle.com or
webserv2.us.oracle.com.
■ cookieMaxAge: Set the maximum length of time, in seconds, that the browser
will keep a cookie. By default, the cookie is kept in memory during the browser
session and discarded afterward.
■ sessionTracker: The name of the servlet to use as a session tracker.
simpleJspMapping
Set to true if "*.jsp" is mapped only to the OC4J front-end JSP servlet,
oracle.jsp.runtimev2.JspServlet, in the <servlet> elements of any Web
descriptors affecting your application (global-web-application.xml, web.xml,
and orion-web.xml). This allows performance improvements for JSP pages. The
default setting is false.
sourceDirectory
Specifies the location of servlet source files to auto-compile if the development
property is set to true. The default location is /WEB-INF/src if it exists; otherwise it
is /WEB-INF/classes.
temporaryDirectory
Contains the path to a temporary directory that can be used by servlets and JSP pages
for scratch files. The path can be either absolute or relative to the deployment
directory. The default setting is "./temp".
A servlet may use a temporary directory, for example, to write information to disk as a
user is entering data in a form, for interim or short-term storage before the information
is written to a database.
virtualDirectories
Adds a virtual directory mapping for static content. This is conceptually similar to
symbolic links on a UNIX system, for example.
The virtual directory enables you to make files in the "real" document root directory
available to the application, even though the files do not physically reside in the Web
application WAR file. This would be useful, for example, to link an enterprise-wide
error page into multiple WAR files.
■ realPath: The real path to the files that the virtual path will map to. For example,
/usr/local/realpath in UNIX or C:\testdir in Windows.
■ virtualPath: The virtual path to map to the specified real path.
webAppClassLoader
Contains class loading instructions passed to the OC4J server at Web module startup.
■ searchLocalClassesFirst: Set to true to search and load WAR file classes
before system classes. The default setting is false.
■ includeWarManifestClassPath: Set to false to not include the classpath
specified in the WAR file manifest Class-Path attribute when searching and
loading classes from the WAR file, regardless of the searchLocalClassesFirst
setting. The default setting is true.
If both attributes are set to true, the overall classpath is constructed so that classes
physically residing in the WAR file are loaded prior to any classes defined in the WAR
file manifest classpath. In the event of conflict, classes physically residing in the WAR
file will take precedence.
defaultMethodAccess
Sets the default method access policy for insecure methods not associated with a role
mapping. Methods are automatically mapped to the default security role.
■ impliesAll: Set to true to disable security-role checking for insecure methods.
If false, you must map the default role defined in the name attribute to an
OracleAS JAAS Provider or XML user group or user through the groups and
users properties (described in the following items).
The default is false if <security-role-mapping> is specified in the
orion-ejb-jar.xml file and impliesAll is not set.
If <security-role-mapping> is not specified in the orion-ejb-jar.xml
file, the OC4J EJB layer defaults this attribute to true: no security-role checking
occurs for these methods.
■ name: The default security role that insecure methods will be mapped to. The
default is the <default-ejb-caller-role> role; however, this value can be
changed to any valid role.
■ groups: One or more user group names that will be used by clients to access
insecure methods.
■ users: One or more user names that will be used by clients to access insecure
methods.
deploymentVersion
The version of OC4J the EJB JAR is being deployed into. This is an internal server
value.
persistenceManager
Defines the persistence manager component to use to manage the persistence layer of
entity EJBs.
The TopLink utility is the default persistence manager used with OC4J, and by default,
all EJBs deployed into OC4J are managed by the TopLink PM. No configuration is
required for TopLink. See the Oracle TopLink Getting Started Guide for details.
■ descriptor: The file name of the persistence manager’s deployment descriptor
file.
■ name: The name of the persistence manager implementation to use. Valid values
are toplink if using TopLink, or orion if using the Orion CMP implementation.
The default is toplink.
■ pmProperties: Contains configuration properties for the TopLink persistence
manager.
■ customizationClass: An optional Java class implementing the
oracle.toplink.ejb.cmp.DeploymentCustomization interface used
to allow deployment customization of TopLink mapping and runtime
configuration. The class must be fully qualified and included in the EJB JAR
being deployed.
■ dbPlatformClass: A TopLink database platform class containing TopLink
support specific to a particular database. The specified class must be fully
qualified.
■ projectClass: An optional TopLink project class containing mapping
metadata. This class will replace the TopLink descriptor specified in the
descriptor property. The class must be fully qualified and must exist in the
EJB JAR file being deployed.
■ remoteRelationships: Set to true to maintain relationships between
remote objects through the entities’ remote interfaces. Note that this flag is not
compliant with EJB 2.0. The default is false.
■ sessionName: A unique name for the EJB JAR being deployed. The name
must be unique among all TopLink-persisted JARs deployed in OC4J. If no
value is specified, a unique name will be generated by the TopLink persistence
manager.
■ mode: Set whether updates should be propagated to another data store server
synchronously or asynchronously. The default value is asynchronously.
■ serverUrl: The URL to the data store host.
■ serverUser: The user name to use to access the host.
■ dbTableGen: Specifies how TopLink will create or use the database tables
being mapped to. This setting is ignored if the mappings are already defined
for the entities. Values are as follows:
* Create: Attempt to create the tables. This is the default.
* DropAndCreate: Attempt to drop existing tables before re-creating them.
* UseExisting: Use existing tables.
■ extendedTableNames: Set to true only if the generated table names are not
long enough to be unique. This setting is ignored if the mappings are already
defined for the entities. The default is false.
callTimeout
Specifies the maximum time, in milliseconds, to wait for any resource to make a
business/life-cycle method invocation. This is not a timeout for how long a business
method invocation can take. The default is 90000 milliseconds (90 seconds).
If the timeout is reached, a TimedOutException is thrown. This excludes database
connections.
Set to 0 if you want the timeout to be forever. See the EJB section in the Oracle
Application Server Performance Guide for more information.
copyByValue
Specifies whether or not to copy (clone) all of the incoming and outgoing parameters
in EJB calls. Set to false if you are certain that your application does not assume
copy-by-value semantics for a speed-up. The default is true.
dataSource
Specifies the name of the data source used if using container-managed persistence.
disableWrapperCache
Set to true to disable the wrapper class cache for the EJB.
doSelectBeforeInsert
Specifies whether to execute a SELECT statement before an insert into the database.
The extra select normally checks to see if the entity already exists before doing the
insert to avoid duplicates.
The default value is true. For performance, Oracle recommends setting this property
to false to avoid executing the extra statement.
However, if a unique key constraint is not defined for the entity, setting this value to
false will allow a duplicate insert to avoid detection. To prevent duplicate inserts in
this case, leave the value set to true.
findByPrimaryKeyLazyLoading
Set to true to turn on lazy loading and enforce only a single execution of the
select() finder method. For entity bean finder methods, lazy loading can cause this
method to be invoked more than once. The default is false.
instanceCacheTimeout
Specifies the amount of time, in seconds, that entity wrapper instances are assigned to
an identity. Set to never to retain the wrapper instances until they are garbage
collected. The default is 60 seconds.
iorSecurityConfigs
Configures CSIv2 security policies for interoperability. See Oracle Containers for J2EE
Security Guide for details.
isolation
Specifies the isolation level for database actions.
■ Valid values for Oracle databases are serializable and committed (default).
■ Valid values for non-Oracle databases include the following: none, committed,
serializable, uncommitted, and repeatable_read.
location
Defines the JNDI name this EJB will be bound to.
lockingMode
Configures the concurrency modes, which specify when to block for resource
contention management, or when to execute in parallel. Values are:
■ optimistic: Allows multiple users to execute the entity bean in parallel. It does
not monitor resource contention; thus, the burden of the data consistency is placed
on the database isolation modes. This is the default.
■ pessimistic: Manages resource contention and does not allow parallel
execution. Only one user at a time is allowed to execute the entity bean at a single
time.
■ read-only: Allows multiple users to execute the entity bean in parallel.
However, the container does not allow any updates to the bean's state.
maxInstances
Sets the number of maximum bean implementation instances to be kept instantiated or
pooled. The default is 100. Set to 0 to indicates no maximum.
maxTxRetries
Specifies the number of times to retry a transaction that was rolled back due to
system-level failures. The default is 3.
Generally, you should add retries only where errors are seen that could be resolved
through retries. For example, if you are using serializable isolation and you want to
retry the transaction automatically if there is a conflict, you might want to use retries.
minInstances
Sets the number of minimum bean implementation instances to be kept instantiated or
pooled. The default is 0.
name
Specifies the name of the bean, which matches the name specified in the assembly
section of the standard EJB deployment descriptor (ejb-jar.xml).
poolCacheTimeout
Defines the amount of time, in seconds, that the bean implementation instances are to
be kept in the "pooled" or unassigned state. Set to 0 to retain bean instances until they
are garbage collected. The default is 60.
txRetryWait
Specifies the time to wait in seconds between retrying the transaction. The default is
60 seconds.
The tx-retry-wait attribute of the <entity-deployment> or
<session-deployment> element in the orion-ejb-jar.xml file is not in
orion-ejb-jar-10_0.xsd or orion-ejb-jar.dtd.
You can still specify txRetryWait to use the tx-retry-wait attribute in your
orion-ejb-jar.xml file. If you use this attribute, however, do not configure OC4J
to perform XML file validation (by using the -validateXML option on the OC4J
startup command line).
validityTimeout
Sets the maximum amount of time, in milliseconds, that an entity is valid in the cache
before being reloaded. This is useful for loosely coupled environments where rare
updates from legacy systems occur. This attribute is only valid for entity beans with a
locking mode of read_only.
If the EJB is generally not modified externally, meaning that the table is occasionally
updated and cache updates are required, set this to a value corresponding to the
interval at which you think the data may be changing externally.
If the data is never modified externally the value can be set to 0 or -1 to disable this
option. The data in the cache will always be valid for read-only EJBs that are never
modified externally.
callTimeout
Specifies the maximum time, in milliseconds, to wait for any resource to make a
business/life-cycle method invocation. This is not a timeout for how long a business
method invocation can take. The default is 90000 milliseconds (90 seconds).
Set to 0 for no timeout. See the EJB section in the Oracle Application Server 10g
Performance Guide for more information.
copyByValue
Specifies whether or not to copy (clone) all of the incoming and outgoing parameters
in EJB calls. Set to false if you are certain that your application does not assume
copy-by-value semantics for a speed-up. The default is true.
idleTime
Specifies the timeout, in seconds, applied to stateful session EJBs. If the value is 0 or
negative, then all timeouts are disabled. The default is 1800 seconds (30 minutes).
The timeout parameter is an inactivity timeout for stateful session beans. Every 30
seconds the pool cleanup logic is invoked. Within the pool cleanup logic, only the
sessions that timed out, by passing the timeout value, are deleted.
Adjust the timeout based on your application’s use of stateful session beans. For
example, if stateful session beans are not removed explicitly by your application, and
the application creates many stateful session beans, then you may want to lower the
timeout value.
iorSecurityConfigs
Configures CSIv2 security policies for interoperability. See the Oracle Containers for
J2EE Security Guide for details.
location
Defines the JNDI name this EJB will be bound to.
maxInstances
Defines the maximum number of bean instances, either instantiated or pooled,
allowed in memory. The default is 100.
When this limit is reached, the container attempts to passivate the oldest bean instance
from memory. If unsuccessful, the container waits the number of milliseconds set in
callTimeout to see if a bean instance is removed from memory, through passivation,
its remove() method, or bean expiration, before a TimeoutExpiredException is
thrown back to the client.
Set to 0 to allow an infinite number of bean instances. This property applies to both
stateless and stateful session beans.
maxInstancesThreshold
Specifies how many active beans can exist in relation to the value set for
maxInstances before passivation is initiated.
Specify an integer that is translated as a percentage. For example, if maxInstances is
100 and maxInstancesThreshold is 90 percent, passivation of beans occurs when
active bean instances reaches past a total of 90.
The default is 90. Set to 0 to disable this feature.
maxTxRetries
Specifies the number of times to retry a transaction that was rolled back due to
system-level failures. The default is 3.
Generally, you should add retries only where errors are seen that could be resolved
through retries. For example, if you are using serializable isolation and you want to
retry the transaction automatically if there is a conflict, you might want to use retries.
memoryThreshold
Defines a threshold for how much used JVM memory is allowed before passivation
should occur. Specify an integer that is translated as a percentage. When the
percentage is reached, beans are passivated, even if their idle timeout has not expired.
The default is 80 percent. To disable, specify never.
minInstances
Sets the number of minimum bean implementation instances to be kept instantiated or
pooled. The default is 0.
name
Defines the name of the EJB, which matches the name of a bean in the assembly section
of the standard EJB deployment descriptor (ejb-jar.xml).
passivateCount
Defines the number of beans to be passivated if any of the resource thresholds - such
as maxInstancesThreshold or memoryThreshold - has been reached. Passivation
of beans is performed using the least recently used algorithm. By default, the number
of beans is one-third of the value set for maxInstances. Set the count to 0 or a
negative number to disable.
persistenceFilename
Defines the path to the file where sessions are stored across OC4J restarts.
poolCacheTimeout
Sets the amount of time, in seconds, that stateless sessions are to remain cached in the
pool. At the specified interval, all unassigned beans in the pool are removed. The
default is 60 seconds.
If the value specified is 0 or negative, beans are not removed from the pool.
replication
Defines when state replication should occur for stateful session beans in a clustered
environment. Values are VMTermination, EndOfCall or None (default). See the
Oracle Containers for J2EE Configuration and Administration Guide for details.
resourceCheckInterval
Defines the interval, in seconds, at which OC4J checks all resources to see which have
passed the specified thresholds, such as maxInstancesThreshold. Passivation of
beans occurs if any thresholds have been reached. The default is 180 seconds (3
minutes). To disable, set to 0.
timeout
Defines the inactivity timeout, in seconds, after which stateful session beans are
considered ready for deletion from the pool. If the value is 0 or negative, then all
timeouts are disabled. The default is 1800 seconds (30 minutes).
Adjust the timeout based on your application’s use of stateful session beans. For
example, if stateful session beans are not removed explicitly by your application, and
the application creates many stateful session beans, then you might want to lower the
timeout value. The pool cleanup logic is invoked every 30 seconds.
txRetryWait
Specifies the length of time to wait, in seconds, between retrying a transaction. The
default is 60 seconds.
The tx-retry-wait attribute of the <entity-deployment> or
<session-deployment> element in the orion-ejb-jar.xml file is not in
orion-ejb-jar-10_0.xsd or orion-ejb-jar.dtd.
You can still specify txRetryWait to use the tx-retry-wait attribute in your
orion-ejb-jar.xml file. If you use this attribute, however, do not configure OC4J
to perform XML file validation (by using the -validateXML option on the OC4J
startup command line).
connectionFactoryLocation
Contains the JNDI location of the connection factory to use.
The syntax is java:comp/resource + resource provider name +
TopicConnectionFactories or QueueConnectionFactories + user
defined name. The ConnectionFactories property details the type of factory
that is being defined.
dequeueRetryCnt
Specifies how often the listener thread tries to reacquire the JMS session once database
failover has occurred. The default is 0. This value is only for container-managed
transactions.
dequeueRetryInterval
Specifies the interval between attempts to reacquire the JMS session. The default is 60
seconds.
destinationLocation
Specifies the JNDI location of the destination (topic or queue) to use.
The syntax is java:comp/resource + resource provider name + Topics or
Queues + Destination name. The Topic or Queue details what type of
Destination is being defined. Destination name is the actual queue or topic name
defined in the database.
listenerThreads
Sets the number of listener threads spawned to listen for incoming JMS messages on
the topic or queue. The threads concurrently consume JMS messages. Topics can only
have one thread; queues can have more than one thread. The default is 1 thread.
maxInstances
Do not set his property; use listenerThreads instead.
minInstances
Do not set this property.
name
Contains the name of the EJB, which matches the name of an EJB in the assembly
section of the J2EE standard EJB deployment descriptor (ejb-jar.xml) packaged in
the EJB archive.
resourceAdapter
Contains the name of the resource adapter to be created by the connection factory for
use by this bean. This value is defined in orion-ra.xml, the OC4J-specific resource
adapter descriptor.
subscriptionName
Contains the topic subscription name, if the bean represents a topic.
transactionTimeout
Sets the transaction timeout interval, in seconds, for any container-managed
transactional MDB. The default is 86400 seconds (one day). If the transaction has not
completed within this timeframe, the transaction is rolled back.
contextRoot
Specifies the root context of the exposed Web Service, which is required only for EJB
2.1 Web Services. If the root context is not specified, the server defaults to the EJB JAR
file name minus the .jar extension. For example, foo-ejb.jar will be translated
into /foo-ejb.
For Java class Web Services, the context root is derived from the context root specified
in the parent application’s application.xml descriptor.
downloadExternalImports
Specifies whether relative imports should be downloaded and resolved to absolute
URLs. If set to true, resolveRelativeImports is automatically set to true. The
default is false.
exposeTestpage
Set to true to expose the test page. The default is true.
exposeWsdl
Set to true to expose the WSDL file describing the Web service. The default is true.
name
Defines the name of the Web service for an EJB implemented as a Web service. This
value matches the name defined in the J2EE standard EJB deployment descriptor
(ejb-jar.xml).
resolveRelativeImports
Set to true to force relative imports to be resolved to absolute URLs. This property is
automatically set to true if downloadExternalImports is true.
wsdlFileFinalLocation
Specifies the URI for the final updated WSDL that describes the Web service.
wsdlPublishLocation
Specifies the URI to the WSDL if exposeWsdl is set to true.
clientInvocationMappings
Configures the client module to start when the OC4J container is started.
■ autoStart: Set to true to start the client when OC4J is started. The default is
false.
■ user: The unique identifier of the user the client will run as.
■ path: The path to the client JAR file. Can be absolute or relative to the parent
application’s root.
■ arguments: One ore more string arguments to be passed to the client’s main()
method at startup.
mailSessions
Contains the configuration for a mail session resource.
■ description: An optional description for the resource.
■ location: The JNDI name to bind the mail session to.
■ smtpHost: The name or IP address of the SMTP host to use, if using SMTP.
■ username: A user name used to log in to the resource, if required.
■ password: The password used to access the resource.
■ properties: Can contain additional properties that should be given to the mail
session as name and value pairs. For example:
name="mail.from" value="[email protected]
name="mail.transport.protocol" value="smtp"
name="mail.smtp.from" value="[email protected]
ejb-ref
Declares a reference to the home interface of an EJB that will be used by the client.
■ location: The JNDI location the EJB is bound to.
■ name: The EJB reference name used by the application client.
connectionPools
Contains a name and one or more name and value pairs defining a shared connection
pool. Valid property names are as follows:
■ maxConnections: The maximum number of connections permitted within the
pool. If no value is specified, there is no limit on the number of connections.
■ minConnections: The minimum number of connections. If greater than 0, the
specified number of connections are opened when OC4J is initialized. OC4J may
not be able to open the connections if necessary information is unavailable at
initialization time.
For instance, if the connection requires a JNDI lookup, it cannot be created,
because JNDI information is not available until initialization is complete. The
default value is 0.
■ scheme: Defines how OC4J handles connection requests after the maximum
permitted number of connections is reached. One of the following values must be
specified:
connectorFactories
Contains properties defining an installed J2EE Connector Architecture-compliant
resource adapter.
■ connectionFactoryInterface: The name of the factory that will create
managed connection instances, such as
javax.jms.QueueConnectionFactory.
■ connectorName: The name of the connector.
■ description: An optional short description of the connector.
■ location: The JNDI location which OC4J will bind the connection factory to. For
example, if the value is set to eis/myEIS1, an application component can look up
the connection factory using JNDI lookup on location
java:comp/env/eis/myEIS1.
■ configProperties: Configuration properties for the connector factory defined
in connectionFactoryInterface.
Configuration properties are connector-specific and are defined in the
<config-property> element in the J2EE deployment descriptor (ra.xml)
packaged with the resource adapter. For a JCA 1.0 resource adapter, the
<config-property> element is a sub-element of the <resourceadapter>
element. For JCA 1.5, they are found inside the <connection-definition>
element(s).
■ connectionPooling: Contains properties defining a connection pool to use.
Properties are:
– use: Specifies whether a connection pool should be used for the connection
factory; and if so, whether a shared pool or a private pool should be used.
Possible string values for this attribute are:
* shared: The shared connection pool to be used for this connection factory
configuration.
* private: The private, non-shared connection pool defined in the
properties fields below will be used for this connection factory
configuration.
* none: Connection pooling is disabled for this connection factory
configuration.
■ log: The path to the log file generated by OC4J for this connector. If the path name
is not specified or if the directory does not exist, logging is not enabled. For
example: ./logConnFctry1.log
■ securityConfig: Specifies the security mechanism to use and corresponding
credential information needed by the connector to access the EIS.
– use: The security mechanism to use. Only one may be specified. Valid values
are: jaasModule, principalMappingEntries or
principalMappingInterface.
– jaasModule: If using JAAS, the name of the JAAS application to use.
– principalMappingEntries: If using the principal mapping entries
mechanism, specify the following:
* defaultMapping: Specify the resource user name and password for the
default resource principal. This principal is used to log in to the EIS if
there is no principal mapping entry whose initiating user corresponds to
the current initiating principal.
* principalMappingEntries: Specify the initiating principal user name
and the resource user name and password. This maps the initiating
principal to the resource principal and password it will use to log in to the
EIS.
– principalMappingInterface: If using the OC4J-specific programmatic
container-managed sign-on mechanism, which utilizes a class implementing
the oracle.j2ee.connector.PrincipalMapping interface, specify the
following:
* implClass: The class implementing the
oracle.j2ee.connector.PrincipalMapping interface. A JAR file
containing the class must be placed into the directory containing the
decompressed RAR file.
* properties: The user name and password that will be used to log in.
■ xaRecoveryConfig: The user name and password of the privileged user that
will log in to the EIS during a two-phase commit transaction recovery.
The Oracle Enterprise Manager 10g Application Server Control Console provides a
Web-based interface for completing a range of deployment-related tasks on a specific
OC4J instance or simultaneously on all OC4J instances in a group. In Oracle
Application Server 10g Release 3 (10.1.3.1.0), a group is a synchronized set of OC4J
instances that belong to the same cluster topology, which is two or more loosely
connected Oracle Application Server nodes.
You can perform these deployment operations through the Application Server Control
Console:
■ Deploy an application (EAR), a standalone Web module (WAR), a standalone EJB
module (EJB JAR), or a standalone resource adapter (RAR)
■ Undeploy an application, Web module, EJB module, or resource adapter
■ Create, modify, or remove shared libraries
■ Start, restart, or stop applications
■ Restart or stop an OC4J instance or group of instances
■ Manage data sources and connection pools
■ Manage JMS resources
■ Create or edit a reusable deployment plan
■ Set application-specific security and application-clustering configurations
See the online help provided with Application Server Control Console for detailed
instructions on using the various features provided.
You can perform similar deployment tasks with Ant tasks or the admin_client.jar
command-line utility. Chapter 10, "Using OC4J Ant Tasks for Deployment" describes
the OC4J Ant tasks for deployment and how to use them. Chapter 11, "Using the
admin_client.jar Utility for Deployment" explains how to use admin_client.jar for
deployment tasks.
This chapter includes the following sections:
■ Accessing Application Server Control Console
■ Setting Log Levels
■ Deploying an Application to an OC4J Instance or Group of Instances
■ Deploying or Redeploying an Application
■ Completing Configuration Tasks Before Deployment
■ Undeploying an Application
■ Creating and Managing Shared Libraries
■ Starting, Restarting, and Stopping Applications
■ Restarting and Stopping OC4J Instances
■ Managing Data Sources and Connection Pools
■ Managing JMS Resources
Supply the port designated as http1 in the OPMN status output as the value for
port:
HTTP_Server | HTTP_Server | 6412 | Alive | 1970872013 | 1
6396 | 0:48:01 | https1:4443,http2:722,http1:7779
Note: If the HTTP session times out due to browser inactivity while
you are using the deployment wizard, you will have to restart the
deployment process from the beginning.
1. Click the Applications tab for an OC4J instance and then the Deploy button to
access the deployment wizard.
2. Select the archive to upload to the OC4J server in the first page of the wizard.
You also have the option to navigate to the location of an existing deployment
plan, which can be applied to the archive or used as a template for a new
deployment plan. If no deployment plan is specified, a new deployment plan will
be created by default. See Chapter 8, "Working with Deployment Plans" for more
information.
3. Set application attributes and bind the Web application to a Web site in the second
page of the deployment wizard.
Specify the application or module name, which will be used to identify the
application within OC4J. This name will also be displayed in Application Server
Control Console.
Next, select the parent application of the application or module being deployed. If
no parent application is specified, the default application is used.
Finally, if deploying a Web application, bind the application to the Web site that
will be used to access it. This binding is accomplished by selecting the name of the
XML configuration file that defines the Web site from the list.
The list contains all Web sites currently defined for the OC4J server instance. In
most cases, applications will be bound to the default Web site, which is defined
by the default-web-site.xml configuration file.
4. Complete the deployment tasks, edit the deployment plan directly, or do both
before deploying the archive in the third page of the deployment wizard.
In this final screen, you have the option of completing a number of configuration
tasks before deploying the application. These tasks provide an alternative to
editing the deployment plan, which contains configuration data that will be set in
the OC4J deployment descriptors generated during deployment. See "Completing
Configuration Tasks Before Deployment" on page 9-5 for details on each optional
task.
You also have the option of editing the deployment plan directly before deploying
the archive. The edited deployment plan can then be saved for reuse. See
Chapter 8, "Working with Deployment Plans" for more details on creating and
editing deployment plans.
5. Deploy the application.
The archive is not actually deployed until you click the Deploy button. The
deployment plan, which up until this point exists only on the client side, will also
be sent to the OC4J server with the archive. Once started, the deployment process
will continue, even if the Web browser is closed.
■ Select the data sources to associate with EJB modules containing entity beans.
By default, all entity beans deployed into OC4J will use the Oracle TopLink
persistence manager. Data sources can be created through the Administration tab
-> Services ->JDBC Resources page in Application Server Control Console.
■ Configure the following for each session bean packaged with the application. The
values displayed are the default values.
■ Configure the following for each message-driven bean packaged with the
application. The values displayed are the default values.
The default page displays all of the shared libraries currently installed on the OC4J
server instance. Shared libraries must have already been installed on the OC4J server
instance to be imported.
■ Select the Import box next to each shared library to import. To use the latest
installed version of the library, do not specify a version number.
■ Specify a minimum or maximum version of a shared library to import.
Use this feature to import a different version of a shared library than that inherited
from the application’s parent. For example, you could import an earlier version of
the Oracle JDBC driver than that inherited from the OC4J default application by
specifying the maximum version to import.
■ Deselect the Import box for any shared library that should not be inherited from
the parent application.
To remove all inherited shared libraries, deselect the Inherit parent application's
imported shared libraries checkbox. This action adds the following
<remove-inherited> element to the orion-application.xml file that will
be generated for the application at deployment time:
<imported-shared-libraries>
<remove-inherited name="*" />
</imported-shared-libraries>
■ Optionally specify additional code sources to add as library paths to the OC4J
instance.
To add a code source, specify either a relative or absolute path or URL to the
archive. Specified directories are scanned for archives to load at OC4J server
startup.
■ Manage the class loader created for each Web module.
OC4J creates a class loader instance for each Web module deployed as a WAR into
the server instance.
Check the Search Local Classes First checkbox to force the class loader to also
load JARs containing classes and resources packaged within the WAR before
loading JARs external to the WAR.
For example, suppose you want to ensure that your Web module uses the version
of log4j packaged within your WAR, and not use the version of log4j bundled
with a resource adapter deployed into the OC4J instance. Selecting this option
forces the class loader to load the local log4j JAR file contained within the WAR.
If the WAR contains a MANIFEST.MF, you can force JARs declared as named
extensions to be loaded by checking the Include WAR Manifest Class Path box.
You can also specify the relative or absolute paths to one or more additional code
sources containing classes or resources to be loaded in the Classpath field. Using
either of these features causes classes to be loaded by the Web module’s class
loader, just as if they were packaged within the WAR.
deployment time. A configuration property set at the application level overrides the
corresponding value inherited from the parent application.
■ Select Enable Clustering to enable clustering support for the application. The
value selected overrides the setting inherited from the application’s parent.
If clustering has been enabled at the parent application level, the parent’s
configuration will be applied by default.
■ Select Peer-to-Peer Replication to enable the peer-to-peer replication mechanism.
The mechanism used is dependent on the type of OC4J installation:
– OC4J instances within Oracle Application Server
In a cluster topology, dynamic peer-to-peer discovery is used to enable OC4J
instances to dynamically discover and communicate with one another.
Dynamic peer-to-peer discovery is used by default if clustering is enabled; no
additional configuration is needed.
You can specify the IP address for a Network Interface Card (NIC) to bind to.
This is useful if you have OC4J host machines with multiple network cards,
each with a specific IP address.
– Standalone OC4J installation
In a standalone configuration, each JVM in the OC4j instance can be statically
configured to recognize at least one other peer JVM. As a JVM becomes aware
of each of its peers, it also becomes aware of each peer’s peer or peers, with
the end result that all of the JVMs in the OC4J instance become aware of one
another.
■ Select Multicast Replication to configure OC4J to send and receive HTTP session
and stateful session bean state changes via multicast packages.
This is the default replication protocol used in a standalone OC4J installation. The
multicast address and port must be the same for all instances in the cluster. The
OC4J default address is 230.230.0.1; the default port is 45566.
Note that you can optionally specify the IP address for a Network Interface Card
(NIC) to bind to. This is useful if you have OC4J host machines with multiple
network cards, each with a specific IP address
■ Select Database Replication to replicate application state to a database.
Select the JNDI name of the data source providing the connection to the database
from the Database JNDI Location pull-down menu. See the Oracle Containers for
J2EE Services Guide for details on defining and using data sources.
source or a data source that you will be configuring later. Designate the JNDI location
name of the data source that the application will be using.
If you have any MDBs in your EAR file, you may be required to add information about
the subscriptions or topics. If you are defining DataSource objects for CMP entity
beans, you are given the option to add a JNDI location for those DataSource objects.
Undeploying an Application
Undeploying an application or module removes the code from the OC4J runtime and
deletes all existing Web site bindings.
1. Click the Applications tab ->Undeploy button.
2. Select the application, then click the Undeploy button.
Note: You can also start, stop, or restart an application from the
Application Home page.
To restart or stop a group of OC4J instances through the Application Server Control
Console:
1. In the Groups section of the Cluster Topology page, select the group.
2. To restart a group of OC4J instances that are in a stopped state, click the Start
button.
3. To stop a group of OC4J instances, click the Stop button.
You can perform similar deployment tasks through the Application Server Control
Console or the admin_client.jar command-line utility. Chapter 9, "Using the
Application Server Control Console for Deployment" describes how to use the
Application Server Control Console for deployment. Chapter 11, "Using the admin_
client.jar Utility for Deployment" explains how to use admin_client.jar for
deployment tasks.
Note: The OC4J Ant tasks discussed in this chapter are intended to
be used with Apache Ant version 1.6.5.
See the following link to access the most recent Apache Ant product
documentation:
http://ant.apache.org/manual/
You can also use OC4J Ant tasks to deploy Web applications through Eclipse, as
"Using Ant Tasks from the OC4J Administration Client with Eclipse" on page 13-2
describes.
For information about setting these environment variables, see the Oracle Containers for
J2EE Configuration and Administration Guide.
The URI utilizes the OPMN-based clustering framework. You need to supply only the
host name and, optionally, an OPMN request port for any Oracle Application Server
node within the cluster. The application is then able to retrieve the host names and
OPMN ports for all other nodes within the cluster.
The URI syntax follows:
deployer:cluster:[rmis]:opmn://host[:opmnPort]/groupName
For example:
deployer:cluster:opmn://node1/default_group
For example:
deployer:oc4j:opmn://server.company.com:6015/instance2/oc4j_2
If you are using ORMI over SSL (ORMIS), the URI syntax is as follows:
deployer:oc4j:rmis:host:ormisPort
For example:
deployer:oc4j:myserver:23791
deployer:oc4j:rmis:myserver:23943
Enabling Logging
You can enable Java logging to help troubleshoot errors that occur when running the
Ant tasks. Log messages will be output to the console.
To enable logging:
1. Create an ANT_OPTS environment variable and set the value to
-Djava.util.logging.config.file=logging.properties before
running the Ant tasks.
2. Create a logging.properties file containing a single line:
oracle.oc4j.admin.jmx.client.CoreRemoteMBeanServer.level=INFO
If you create this file in a location other than ORACLE_HOME/ant/bin, you must
include the path to the file in the ANT_OPTS environment variable.
You can set the value in the logging.properties file to one of the Java log-level
values, which Table 10–5 describes.
For example:
oracle.oc4j.admin.jmx.client.CoreRemoteMBeanServer.level=FINE
In OC4J (10.1.3.1.0), you can set the log levels for loggers through the Application
Server Control Console, as follows:
1. On the OC4J Home page, click Administration.
2. From the administration tasks, select Logger Configuration to display the
Logger Configuration page.
3. Click Expand All to view the entire list of loggers currently loaded for the OC4J
instance.
4. Select a log level for any of the loggers shown on the page.
Deploying an Archive
The following sections describe how to invoke the deploy task:
■ Deploying a J2EE Application (EAR)
■ Deploying a Standalone Web Module (WAR)
■ Deploying a Standalone Resource Adapter (RAR)
contextRoot="/myapp"
bindAllWebApps="default-web-site"
logfile="${log.dir}/deploy-war.log"/>
Table 10–7 summarizes the WAR-specific properties that you can pass to the deploy
task when you deploy a WAR file.
password="${oc4j.admin.password}"
file="${lib.dir}/${app.name}.rar"
deploymentName="${app.name}"
grantAllPermissions="true"
logfile="${log.dir}/deploy-rar.log"/>
Table 10–8 summarizes the properties that you can pass to the deploy task when you
deploy a RAR file.
Table 10–9 summarizes the properties that you can pass to the bindAllWebApps task.
Bind a Web Module to a Specific Web Site and Set the Context URI
Use the bindWebApp task to bind a Web module to the specific Web site that will be
used to access it. You can also specify the context URI for the module. For example:
<oracle:bindWebApp
deployerUri="${deployer.uri}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
deploymentName="${app.name}"
webModule="${web.name}"
webSiteName="${oc4j.binding.module}"
contextRoot="/${context.root}"/>
Table 10–10 summarizes the properties that you can pass to the bindWebApp task.
Redeploying an Archive
Use the redeploy task to redeploy a previously deployed archive to an OC4J instance
or to a group of instances within a cluster. The previous version of the archive will be
undeployed as part of this process. For example:
<oracle:redeploy
deployerUri="${deployer.uri}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
file="${lib.dir}/${app.name}.archiveType"
deploymentName="${app.name}"
keepsettings="true"
sequential="true"
logfile="${log.dir}/deploy-ear.log"/>
Table 10–11 summarizes the properties that you can pass to the redeploy task.
Undeploying an Archive
Use the undeploy task to remove an application or module from an OC4J instance or
from a group of instances within a cluster. The isConnector="true" property must
be included if you are undeploying a standalone resource adapter (RAR). For example:
<oracle:undeploy
deployerUri="${deployer.uri}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
deploymentName="${app.name}"
logfile="${log.dir}/filename.log"/>
Table 10–12 summarizes the properties that you can pass to the undeploy task.
Table 10–13 summarizes the properties that can be passed to the updateEJBModule
task.
Include one element for each code source to upload or add. Do the same for each
existing shared library to import.
■ To upload a new code source to each OC4J server, specify the path and file name of
the JAR or ZIP archive file to upload in a nested <oracle:uploadCodeSource>
element. The path can be absolute or relative to the current working directory.
■ To add a JAR or ZIP file that already exists on the server specify the path and file
name in an <oracle:addCodeSource> element. Specify an absolute or relative
path pointing to the location of the existing file on each OC4J server. If a relative
path is used, it will be interpreted as relative to ORACLE_HOME.
■ To import an existing shared library into the new shared library, specify the shared
library name as defined within the OC4J instance or instances in an
<oracle:sharedLibraryImport> element. You can specify the minimum or
maximum version, or both, of the library to import.
The following example uploads two JAR files to each target OC4J server:
<oracle:publishSharedLibrary
deployerUri="${deployer.uri}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
libraryName="acme.common"
libraryVersion="2.5"
logfile="${log.dir}/filename.log">
<oracle:uploadCodeSource path="/acme/acme-apis.jar" />
<oracle:uploadCodeSource path="/acme/acmeImpl.jar" />
</oracle:publishSharedLibrary>
Include one element for each code source to upload, add, or remove. Do the same for
each existing shared library to import or remove.
■ To upload a new code source to each OC4J server, specify the path and file name of
the JAR or ZIP archive file to upload in a nested <oracle:uploadCodeSource>
element. The path can be absolute or relative to the current working directory.
■ To add a JAR or ZIP that already exists on the server or servers, specify the path
and file name in an <oracle:addCodeSource> element. Specify an absolute or
relative path pointing to the location of the existing file on the OC4J server or
servers. If a relative path is used, it will be interpreted as relative to ORACLE_
HOME.
■ Use <oracle:removeCodeSource> to remove an existing code source from the
shared library. Specify the file name of the code source within the shared library to
remove.
■ To import an existing shared library into the shared library, specify the shared
library name as defined within the OC4J instance or instances in an
<oracle:addImport> element. You can optionally specify the minimum or
maximum version, or both, of the library to import.
■ To remove an imported shared library, use an <oracle:removeImport>
element.
The following example removes a code source and an imported library from the target
shared library:
<oracle:modifySharedLibrary
deployerUri="${deployer.uri}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
libraryName="acme.common"
libraryVersion="2.5"
logfile="${log.dir}/filename.log">
<oracle:removeCodeSource path="acme-apis.jar" />
<oracle:removeImport libraryName="foo" min-version="2.0"/>
</oracle:modifySharedLibrary>
Table 10–17 summarizes the properties that can be passed to the start and stop
tasks.
Table 10–18 summarizes the properties that can be passed to the restartServer and
shutdownServer tasks.
dbPassword="tiger"
jndiLocation="jdbc/ScottNativeDataSource"
loginTimeout="60"
dataSourceClass="oracle.jdbc.pool.OracleDataSource"
url="jdbc:oracle:thin:@localhost:1521:xe" >
<oracle:nativeDataSourceProperty name="maxStatements" value="20"/>
<oracle:nativeDataSourceProperty name="implicitCachingEnabled" value="30"/>
</oracle:addNativeDataSource>
Table 10–27 summarizes the properties that can be passed to the testDataSource
task.
Table 10–32 summarizes the properties that can be passed to the addDestination
task.
Table 10–34 summarizes the properties that can be passed to the getDestinations
task.
■ Undeploying an Archive
■ Updating Modified Classes in a Deployed EJB Module
■ Creating and Managing Shared Libraries
■ Starting, Restarting, and Stopping Applications
■ Restarting and Stopping OC4J Instances
■ Managing Data Sources
■ Managing JMS Resources
■ Managing OC4J Through a Remote Client
The key parameter passed on the command line is uri, which specifies the target for
the command or commands supplied. The syntax for the URI varies depending on the
instance or instances being targeted. See the following topics for the format of this
URI:
■ Deploying to a Group of OC4J Instances Within a Cluster
■ Deploying to a Specific OC4J Instance
■ Deploying to a Standalone OC4J Server
■ Validating a URI
The OC4J administration user name and password are also passed to the admin_
client.jar utility. The user name for the default administrator account is
oc4jadmin.
As an example, the following command will start the petstore application, which is
installed in the OC4J instance named oc4j_2 on node1, a member of a cluster:
java -jar admin_client.jar deployer:oc4j:opmn://node1.company.com/oc4j_2
oc4jadmin password -application petstore -start
Figure 11–1 shows four processes that are configured to run from an OC4J instance
named OC4J_home in one of the Oracle Application Server instances within a cluster.
Figure 11–1 OC4J Instance Running on Multiple JVMs in an Oracle Application Server
Instance Within a Cluster
For example:
deployer:cluster:opmn://node1.company.com/default_group
For example:
deployer:oc4j:opmn://server.company.com:6004/instance2/home
If you are using ORMI over SSL (ORMIS), specify the URI as follows:
deployer:oc4j:rmis:host:ormisPort
For example:
deployer:oc4j:myserver:23791
deployer:oc4j:rmis:myserver:23943
Validating a URI
You can validate a URI using the -validateURI command.
java -jar admin_client.jar uri adminId adminPassword -validateURI
For example:
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group
oc4jadmin password -validateURI
>mkdir oc4j_admin_client
>cd oc4j_admin_client
>jar xvf d:\software\oc4j_admin_client_101310.zip
The following URIs use different patterns for different OC4J targets:
■ Standalone OC4J server:
deployer:oc4j:test-cycle.oracle.com:23791
To view detailed help for a specific command, type -usage followed by the command
identifier. For example:
Enabling Logging
To help troubleshoot errors that occur when running admin_client.jar, you can
enable Java logging when running this tool. Log messages will be output to the
console.
To enable logging:
1. Create a logging.properties file containing a single line:
oracle.oc4j.admin.jmx.client.CoreRemoteMBeanServer.level=INFO
You can set the value in the logging.properties file to one of the Java log-level
values in Table 11–4.
For example:
oracle.oc4j.admin.jmx.client.CoreRemoteMBeanServer.level=FINE
Deploying an Archive
You can use the admin_client.jar utility to deploy an application (EAR), a
standalone Web module (WAR), or a standalone resource adapter (RAR) to a specific
OC4J instance or to a group of instances within a cluster.
This chapter covers the following topics:
■ Deploying a J2EE Application (EAR)
■ Deploying a J2EE Application from a Remote Client
■ Deploying a Standalone Web Module (WAR)
Ideally, you should include the -bindAllWebApps subswitch to bind all Web
modules within the EAR to the Web site through which they will be accessed. If no
Web site is specified, modules will be bound to the default Web site.
For example, the following command deploys the utility application to all OC4J
instances that belong to the group default_group within a cluster. All Web modules
within the application will be bound to the default Web site.
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group
oc4jadmin password -deploy -file C:/dev/utility.ear -deploymentName utility
-bindAllWebApps
The WAR can be designated a child of another deployed application that does not
already contain a Web module component; otherwise, it will be deployed to the
default application.
A WAR cannot be deployed as the child of an application that already contains a Web
module. That is, if the acme application already contains acme-web.war, an
additional WAR file cannot be deployed into that application. Repackage the WAR in
the application’s EAR file and redeploy the application instead.
The following command deploys the standalone acme-web.war Web module to the
default application in all OC4J instances that belong to default_group within the
cluster of which node1 is a member. Because the -bindAllWebApps subswitch is
included, but a Web site to bind to is not specified, the module will be bound to the
default Web site.
The following command deploys the acme-rar.rar module to all OC4J instances
that belong to default_group within a cluster.
The script file, filename, contains multiple lines, like the lines in this example:
-deploy -file /scratch/rpan/apps/hello-planet.ear -deploymentName hello-planet
-bindWebApp -appName hello-planet -webModuleName hello-planet-web
-stop hello-planet
-start hello-planet
-redeploy -file /scratch/rpan/apps/hello-planet.ear
-deploymentName hello-planet -bindAllWebApps
-undeploy hello-planet
-validateURI
You can convert to batch mode by looking at the script or logs from an installation and
extracting the relevant lines used by an existing configuration assistant.
Bind a Specific Web Module to a Specific Web Site and Set the Context Root
Use the -bindWebApp command to bind a single Web module within a J2EE
application to a specific Web site, or to default-web-site by default. You can also
optionally set the context root that will be used to access the module.
The syntax follows:
java -jar admin_client.jar uri adminId adminPassword -bindWebApp
-appName appName -webModuleName moduleName -webSiteName siteName
-contextRoot contextRoot
Redeploying an Archive
Use the -redeploy command to redeploy a previously deployed archive.
This operation performs a graceful redeployment because it stops the application if it is
running and then undeploys the archive. It then deploys and restarts the application.
Redeploying an archive with the -deploy command, in contrast, does not stop the
application but simply undeploys, redeploys, and then restarts it.
Undeploying an Archive
The -undeploy command removes an application or standalone Web or connector
module from the target OC4J instances, as the following topics describe:
■ Undeploying an EAR or Standalone WAR
■ Undeploying a Standalone RAR
Undeploying a standalone RAR does not require a restart of the default application.
The syntax for updating modified classes in a deployed EJB module follows. The name
of the application the EJB JAR is part of must be supplied. If updating a standalone
EJB module, specify the default application.
java -jar admin_client.jar uri adminId adminPassword -updateEJBModule
-appName appName -ejbModuleName ejbJarName -file path/ejbJarName
For example:
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group
oc4jadmin password -updateEJBModule -appName petstore
-ejbModuleName customerEjb.jar -file build/customerEjb.jar
The resulting directory structure within a target OC4J server would be as follows:
ORACLE_HOME/j2ee/home/shared-lib
/acme.common
/2.5
acme-apis.jar
acmeImpl.jar
The following example starts the petstore application on node2 within the cluster:
java -jar admin_client.jar deployer:oc4j:opmn://node2.company.com:6004/home
oc4jadmin password -start petstore
The following command restarts all of the OC4J instances that are members of
default_group in each Oracle Application Server within the cluster topology:
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group
oc4jadmin password -restart
This command shuts down the entire OC4J server, terminating all threads
immediately, as if the host machine were unplugged. If you use this command, the
current state for clustered applications will not be replicated.
The following command stops the specified OC4J instance in an Oracle Application
Server managed environment:
java -jar admin_client.jar deployer:oc4j:opmn://localhost/home oc4jadmin password
-shutdown
The next command stops all of the OC4J instances that are members of default_
group in each Oracle Application Server within the cluster topology:
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group
oc4jadmin password -shutdown
These commands shut down the specified instance or instances and terminate all
threads immediately. If you use the -shutdown command, the current state for
clustered applications will not be replicated. For each OPMN-managed OC4J instance,
admin_client.jar notifies OPMN that the server is being shut down on purpose,
to prevent OPMN from attempting to restart it.
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-addDataSourceConectionPool -applicationName default -name ScottConnectionPool
-factoryClass oracle.jdbc.pool.OracleDataSource
-user scott -password tiger -url jdbc:oracle:thin:@localhost:1521:xe
For example:
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-removeDataSourceConnectionPool -name ScottConnectionPool -applicationName default
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-addManagedDataSource -applicationName default -dataSourceName ScottDataSource
-jndiLocation jdbc/ScottDataSource -connectionPoolName ScottConnectionPool
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-removeManagedDataSource -dataSourceName ScottDataSource -applicationName default
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-addNativeDataSource -dataSourceName ScottDataSource
-user scott -password tiger -jndiLocation jdbc/ScottNativeDataSource
-loginTimeout 5 -dataSourceClass com.acme.DataSourceImpl
-url jdbc:oracle:thin:@localhost:1521:xe
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-removeNativeDataSource -dataSourceName ScottDataSource
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-testDatabaseConnection -sqlStatement "select * from dual"
-factoryClass oracle.jdbc.pool.OracleDataSource -user scott
-password tiger -url jdbc:oracle:thin:@localhost:1521:xe -applicationName default
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-testDataSource -datasourceName ScottDataSource -sqlStatement "select * from dual"
-applicationName default -user scott -password tiger
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-addJMSConnectionFactory -domain Queue -location jms/ExampleQueueCF
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-removeJMSConnectionFactory -location jms/ExampleQueueCF
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-getJMSConnectionFactories
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-addDestination -domain Queue -name ExampleQueue -jndiLocation jms/ExampleQueue
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-removeDestination -name ExampleQueue -removePFile true
For example:
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1
-getDestinations
4. Run jconsole:
%JAVA_HOME%\bin\jconsole
-J-Djava.class.path=%CLASSPATH%
-J-D%PROPS%
Table 11–30 JMX URLs for OC4J and Oracle Application Server Targets
Target JMX URL
OC4J service:jmx:rmi://test-cycle.oracle.com:23791
Standalone
Server
OC4J service:jmx:ormi:///opmn://test-cycle.oracle.com:6010/test1
Instance on
Oracle
Application
Server
Oracle service:jmx:rmis:///opmn://stadp69:6003/cluster/as101/admin
Application
Server
Cluster
6. The JConsole utility will show the OC4J MBeans from the target instance. These
MBeans can be used to view and manage the configuration of the OC4J instance.
On Windows, the environment used by JConsole can be modified by using a special
System property form:
-J-Dname=value
set URL=service:jmx:rmi:///opmn://test-cycle.oracle.com:6010/testunit
set JAVA_HOME=C:\java\jdk150_07
set JCONSOLE_CP
set JCONSOLE_CP=%JCONSOLE_CP%;%JAVA_HOME%\lib\jconsole.jar
set JCONSOLE_CP=%JCONSOLE_CP%;%JAVA_HOME%\lib\tools.jar
set ORACLE_HOME=D:\oc4j_admin_client
set ORACLE_CP=
set ORACLE_CP=%ORACLE_CP%;%ORACLE_HOME%\j2ee\home\admin_client.jar;
set CLASSPATH=%JCONSOLE_CP%;%ORACLE_CP%
set PROPS=
set PROPS=%PROPS%
-J-Djmx.remote.protocol.provider.pkgs=oracle.oc4j.admin.jmx.remote
endlocal
The following example uses these JAR files with the JMX API:
// A URL is of the form "service:jmx:rmi://127.0.0.1:23791"
JMXServiceURL serviceURL = new JMXServiceURL(_url);
MBeanServerConnection mbeanServer =
jmxCon.getMBeanServerConnection();
In JDK 5.0 this code compiles with no Oracle libraries required, just the libraries
provided by JDK 5.0:
clear
@echo off
@setlocal
set J2EE_HOME=c:\java\oc4j-1013-prod\j2ee\home
set JAVA_HOME=c:\java\jdk50
set CLASSPATH=.
rem
rem Uncomment below if using JDK14
rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmxri.jar
rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmx_remote_api.jar
rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\javax77.jar
rem
set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\admin_client.jar;
rem
rem Uncomment if using JDK14
rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmxri.jar
rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmx_remote_api.jar
rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\javax77.jar
@endlocal
The connection URL in the main method of the example is set to connect to a local
OC4J instance. If you want to connect to an Oracle Application Server through an
ORMI port, use a Service URL of the following form:
service:jmx:rmi|ormi:///opmn://stadp57.us.oracle.com:6003/home
A service URL will obtain the ORMI port from the OPMN daemon. The ORMI port is
assigned at runtime. Using the OPMN connection string path will connect you to the
specified OC4J instance.
For more information about how to use a JMX client to manage OC4J instances
remotely, see "Remote Management Using the JMX Remote API (JSR-160)" in the
Oracle Containers for J2EE Developer’s Guide.
Notes:
■ admin.jar cannot be used to deploy to an OPMN-managed
OC4J instance.
■ admin.jar supports deployment of EAR files only. It does not
allow deployment of standalone modules, such as a Web
module packaged in a WAR file.
■ admin.jar does not accept a deployment plan. Any archive
deployed using this utility must include the required
OC4J-specific deployment descriptor files, such as
orion-application.xml or orion-web.xml.
For example, the following command will print the admin.jar help to the console. The
value supplied for oc4jOrmiPort is the default, 23791. The user name supplied for
adminId is the user name for the default administrator account, oc4jadmin.
java -jar admin.jar ormi://localhost:23791 oc4jadmin password -help
For example, the following command deploys the utility application into OC4J:
java -jar admin.jar ormi://localhost:23791 oc4jadmin password -deploy -file
utility.ear -deploymentName utility
3. Next, bind the application to the Web site that will be used to access it. The syntax
is:
java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId
adminPassword -bindWebApp appName webAppName
webSiteName contextRoot
The following example binds the utility application and its utility-web Web
module to the default OC4J Web site:
java -jar admin.jar ormi://localhost:23791 admin password -bindwebapp utility
utility-web default-web-site /utility
Undeploying an Application
The following command removes an application from the OC4J runtime and removes
bindings from any Web sites to which the application’s Web modules were bound.
1. Open a command console and change to the ORACLE_HOME directory.
2. Undeploy the application. The syntax is as follows:
java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminpassword
-undeploy appname
■ appName is the application name, which must match the value specified for
-deploymentName on the -deploy option.
Usage notes:
■ Specify the application the EJB is a component of as the value for appName. This
name must match the name specified at deployment.
■ If the updated EJB JAR file is in the working directory, and its location matches the
relative module path defined in the application’s application.xml J2EE
deployment descriptor, you only need to specify the EJB JAR file name as the
value for ejbJarName.
■ If the updated EJB JAR is not in the working directory, or is in a subdirectory that
does not match the relative module path defined in application.xml, specify
the JAR file’s location using the optional [-file] subswitch.
For example, the following commands can be used to update the customerEjb.jar
module of the petstore application. Assume the following directory structure on the
developer’s machine:
/work
/src - application source code
/build - compiled class files
/dist - assembled EAR and JAR files
If the updated EJB JAR is at the root level of the /dist directory and the relative path
defined in application.xml is “customerEjb.jar", the following command
could be issued from the /dist directory:
java -jar $J2EE_HOME/admin.jar ormi://myoc4jserver:23791 oc4jadmin password
-application petstore -updateEJBModule customerEjb.jar
However, if the updated file is located within the /build directory, the optional
-file subswitch can be used to specify this location:
java -jar $J2EE_HOME/admin.jar ormi://myoc4jserver:23791 oc4jadmin password
-application petstore -updateEJBModule customerEjb.jar
-file build/customerEjb.jar
Notes:
■ The example is based on the assumption that a J2EE_HOME
environment variable pointing to the ORACLE_HOME/j2ee/home
directory within the target OC4J host exists on the developer’s
machine.
■ An error will occur if the EJB module name is missing or invalid,
of if the updated EJB JAR cannot be found.
This chapter explains how to deploy a Web application to a standalone OC4J server
directly from Eclipse 3.2 using the Web Tools Platform, which includes support for
OC4J, and how to use OC4J Ant tasks for deployment through Eclipse, in these
sections:
■ Deploying a Web Application with the Web Tools Platform
■ Using Ant Tasks from the OC4J Administration Client with Eclipse
Using Ant Tasks from the OC4J Administration Client with Eclipse
You can use Ant tasks for deploying Web applications from Eclipse if you include
ant-oracle.jar in the class path with the appropriate client libraries. Follow these
steps to set up your environment for using Ant tasks with Eclipse:
1. If you do not have a local OC4J environment (either a standalone OC4J server or
Oracle Application Server), then download or copy oc4j_admin_client.zip
and extract the OC4J administration client, as "Downloading and Extracting the
Remote Administration Client" on page 11-5 describes.
2. Copy the ant-oracle.xml and ant-oracle.properties file from the
ORACLE_HOME\j2ee\utilities directory into the project.
Once configured, OC4J will poll the directory for new or updated EAR files every time
the task manager is executed. The server compares the timestamp on an EAR file to
determine if a redeployment should be initiated. If it should, the EAR will be deployed
automatically. Any Web modules packaged as WAR files within the EAR will be
bound automatically to the default Web site.
The auto-deployment directory feature is completely independent of OC4J polling.
Archives dropped in this directory will be deployed regardless of whether OC4J
polling is enabled or disabled.
Table 14–1 contains the values that can be set for checkForUpdates using either
option.
■ The following files packaged within an updated WAR file. The WAR can be
packaged in an EAR file copied to the ORACLE_
HOME/j2ee/instance/applications/ directory, or copied directly to the Web
module’s ORACLE_HOME/j2ee/instance/applications/webAppName
directory.
– Modified deployment descriptors
– Updated files in the WEB-INF/lib/ or WEB-INF/classes/* paths within
the WAR
– Updated JSP tag library (TLD) files
Usage Notes:
■ The admin.jar tool can only be used against a standalone OC4J
instance. It cannot be used against an OPMN-managed instance.
■ checkForUpdates must be set to either all or
adminClientOnly to use this feature.
In the following example, the value supplied for oc4jOrmiPort is the default,
23791. The user name supplied for adminId is the user name for the default
administrator account, oc4jadmin.
cd ORACLE_HOME\j2ee\instance
java -jar admin.jar ormi://localhost:23791 oc4jadmin password -updateConfig
See the Oracle Containers for J2EE Configuration and Administration Guide for additional
instructions on using admin.jar.
This chapter discusses common errors that may occur during deployment. It includes
the following sections:
■ Interruptions During Application Deployment
■ Exceptions During Application Deployment
This problem may also be encountered when deploying an application using the
admin.jar command-line utility. Again, the solution is to increase the heap size for
this utility:
java -Xms512m -Xmx512m -jar admin.jar ormi://localhost:23791 admin welcome -deploy
...
If running under Unix/Linux, verify that the ulimit settings allow the JVM process
to allocate this much memory.
This message indicates that the external JVM process spawned to execute the javac
compiler has run out of memory.
The default heap size allocated to the compiler is 1024 MB. To allocate more memory
to the compiler, increase the heap size by setting the -Xmx option through the
options attribute of the <java-compiler> element in server.xml. For example:
<java-compiler name="javac" in-process="false" options="-J-Xmx2048m"/>
These exceptions indicate that the operating system has run short of file descriptors,
which are used by processes to identify open files of different types, including sockets
or pipes.
Increasing the number of file descriptors will typically resolve this kind of problem.
On Unix platforms, this can be performed using the ulimit -n command. The
maximum number of file descriptors, as well as the maximum size that can be
allocated to a process, are defined by a resource limit. Refer to your operating
system-specific system administration manuals for instructions on setting the hard
limit values.
This appendix includes the Third Party License for all the third party products
included with Oracle Application Server.
ANTLR
This program contains third-party code from ANTLR. Under the terms of the Apache
license, Oracle is required to provide the following notices. Note, however, that the
Oracle program license that accompanied this product determines your right to use
the Oracle program, including the ANTLR software, and the terms contained in the
following notices do not change those rights.
Apache
This program contains third-party code from the Apache Software Foundation
("Apache"). Under the terms of the Apache license, Oracle is required to provide the
following notices. Note, however, that the Oracle program license that accompanied
this product determines your right to use the Oracle program, including the Apache
software, and the terms contained in the following notices do not change those rights.
The Apache license agreements apply to the following included Apache components:
■ Apache HTTP Server
■ Apache JServ
■ mod_jserv
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
Apache SOAP
This program contains third-party code from the Apache Software Foundation
("Apache"). Under the terms of the Apache license, Oracle is required to provide the
following notices. Note, however, that the Oracle program license that accompanied
this product determines your right to use the Oracle program, including the Apache
software, and the terms contained in the following notices do not change those rights.
Notwithstanding anything to the contrary in the Oracle program license, the Apache
software is provided by Oracle "AS IS" and without warranty or support of any kind
from Oracle or Apache.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
DBI Module
This program contains third-party code from Tim Bunce. Under the terms of the Tim
Bunce license, Oracle is required to provide the following notices. Note, however, that
the Oracle program license that accompanied this product determines your right to
use the Oracle program, including the Tim Bunce software, and the terms contained in
the following notices do not change those rights. Notwithstanding anything to the
contrary in the Oracle program license, the Tim Bunce software is provided by Oracle
"AS IS" and without warranty or support of any kind from Oracle or Tim Bunce.
The DBI module is Copyright (c) 1994-2002 Tim Bunce. Ireland. All rights reserved.
You may distribute under the terms of either the GNU General Public License or the
Artistic License, as specified in the Perl README file.
Preamble
The intent of this document is to state the conditions under which a Package may be
copied, such that the Copyright Holder maintains some semblance of artistic control
over the development of the package, while giving the users of the package the right
to use and distribute the Package in a more-or-less customary fashion, plus the right to
make reasonable modifications.
Definitions
"Package" refers to the collection of files distributed by the Copyright Holder, and
derivatives of that collection of files created through textual modification.
"Standard Version" refers to such a Package if it has not been modified, or has been
modified in accordance with the wishes of the Copyright Holder as specified below.
"Copyright Holder" is whoever is named in the copyright or copyrights for the
package.
"You" is you, if you're thinking about copying or distributing this Package.
"Reasonable copying fee" is whatever you can justify on the basis of media cost,
duplication charges, time of people involved, and so on. (You will not be required to
justify it to the Copyright Holder, but only to the computing community at large as a
market that must bear the fee.)
"Freely Available" means that no fee is charged for the item itself, though there may be
fees involved in handling the item. It also means that recipients of the item may
redistribute it under the same conditions they received it.
1. You may make and give away verbatim copies of the source form of the Standard
Version of this Package without restriction, provided that you duplicate all of the
original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived from
the Public Domain or from the Copyright Holder. A Package modified in such a
way shall still be considered the Standard Version.
3. You may otherwise modify your copy of this Package in any way, provided that
you insert a prominent notice in each changed file stating how and when you
changed that file, and provided that you do at least ONE of the following:
a. place your modifications in the Public Domain or otherwise make them Freely
Available, such as by posting said modifications to Usenet or an equivalent
medium, or placing the modifications on a major archive site such as
uunet.uu.net, or by allowing the Copyright Holder to include your
modifications in the Standard Version of the Package.
b. use the modified Package only within your corporation or organization.
c. rename any non-standard executables so the names do not conflict with
standard executables, which must also be provided, and provide a separate
manual page for each non-standard executable that clearly documents how it
differs from the Standard Version.
d. make other distribution arrangements with the Copyright Holder.
4. You may distribute the programs of this Package in object code or executable form,
provided that you do at least ONE of the following:
a. distribute a Standard Version of the executables and library files, together with
instructions (in the manual page or equivalent) on where to get the Standard
Version.
b. accompany the distribution with the machine-readable source of the Package
with your modifications.
c. give non-standard executables non-standard names, and clearly document the
differences in manual pages (or equivalent), together with instructions on
where to get the Standard Version.
d. make other distribution arrangements with the Copyright Holder.
5. You may charge a reasonable copying fee for any distribution of this Package. You
may charge any fee you choose for support of this Package. You may not charge a
fee for this Package itself. However, you may distribute this Package in aggregate
with other (possibly commercial) programs as part of a larger (possibly
commercial) software distribution provided that you do not advertise this Package
as a product of your own. You may embed this Package's interpreter within an
executable of yours (by linking); this shall be construed as a mere form of
aggregation, provided that the complete Standard Version of the interpreter is so
embedded.
6. The scripts and library files supplied as input to or produced as output from the
programs of this Package do not automatically fall under the copyright of this
Package, but belong to whoever generated them, and may be sold commercially,
and may be aggregated with this Package. If such scripts or library files are
aggregated with this Package through the so-called "undump" or "unexec"
methods of producing a binary executable image, then distribution of such an
image shall neither be construed as a distribution of this Package nor shall it fall
under the restrictions of Paragraphs 3 and 4, provided that you do not represent
such an executable image as a Standard Version of this Package.
7. C subroutines (or comparably compiled subroutines in other languages) supplied
by you and linked into this Package in order to emulate subroutines and variables
of the language defined by this Package shall not be considered part of this
Package, but are the equivalent of input as in Paragraph 6, provided these
subroutines do not change the language in any way that would cause it to fail the
regression tests for the language.
8. Aggregation of this Package with a commercial distribution is always permitted
provided that the use of this Package is embedded; that is, when no overt attempt
is made to make this Package's interfaces visible to the end user of the commercial
distribution. Such use shall not be construed as a distribution of this Package.
9. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
The End
FastCGI
This program contains third-party code from Open Market, Inc. Under the terms of the
Open Market license, Oracle is required to license the Open Market software to you
under the following terms. Note that the terms contained in the Oracle program
license that accompanied this product do not apply to the Open Market software, and
your rights to use the software are solely as set forth below. Oracle is not responsible
for the performance of the Open Market software, does not provide technical support
for the software, and shall not be liable for any damages arising out of any use of the
software.
contrary in the Oracle program license, the Info-ZIP software is provided by Oracle
"AS IS" and without warranty or support of any kind from Oracle or Info-ZIP.
Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, Jean-loup
Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase, Greg Hartwig,
Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, Johnny Lee, Onno
van der Linden, Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens,
George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave Smith,
Christian Spieler, Antoince Verheijen, Paul von Behren, Rich Wales, Mike White
This software is provided "AS IS," without warranty of any kind, express or
implied. In no event shall InfoZIP or its contributors be held liable for any
direct, indirect, incidental, special or consequential damages arising out of the
use of or inability to use this software."
JSR 110
This program contains third-party code from IBM Corporation ("IBM"). Under the
terms of the IBM license, Oracle is required to provide the following notices. Note,
however, that the Oracle program license that accompanied this product determines
your right to use the Oracle program, including the IBM software, and the terms
contained in the following notices do not change those rights. Notwithstanding
anything to the contrary in the Oracle program license, the IBM software is provided
by Oracle "AS IS" and without warranty or support of any kind from Oracle or IBM.
Copyright IBM Corporation 2003 – All rights reserved
Jaxen
This program contains third-party code from the Apache Software Foundation
("Apache") and from the Jaxen Project ("Jaxen"). Under the terms of the Apache and
Jaxen licenses, Oracle is required to provide the following notices. Note, however, that
the Oracle program license that accompanied this product determines your right to
use the Oracle program, including the Apache and Jaxen software, and the terms
contained in the following notices do not change those rights.
Redistributions of source code must retain the above copyright notice, this list
of conditions, and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions, and the disclaimer that follows these conditions in the
documentation and/or other materials provided with the distribution.
The name "Jaxen" must not be used to endorse or promote products derived from this
software without prior written permission. For written permission, please contact
[email protected].
Products derived from this software may not be called "Jaxen", nor may "Jaxen"
appear in their name, without prior written permission from the Jaxen Project
Management ([email protected]).
In addition, we request (but do not require) that you include in the end-user
documentation provided with the redistribution and/or in the software itself an
acknowledgment equivalent to the following: "This product includes software
developed by the Jaxen Project (http://www.jaxen.org/)." Alternatively, the
acknowledgment may be graphical using the logos available at
http://www.jaxen.org/.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE Jaxen
AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
JGroups
This program contains third-party code from GNU. Under the terms of the GNU
license, Oracle is required to provide the following notices. Note, however, that the
Oracle program license that accompanied this product determines your right to use
the Oracle program, including the GNU software, and the terms contained in the
following notices do not change those rights. Notwithstanding anything to the
contrary in the Oracle program license, the GNU software is provided by Oracle "AS
IS" and without warranty or support of any kind from Oracle or GNU.
Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite
330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute
verbatim copies of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts as the
successor of the GNU Library Public License, version 2, hence the version number
2.1.]
Preamble
The licenses for most software are designed to take away your freedom to share and
change it. By contrast, the GNU General Public Licenses are intended to guarantee
your freedom to share and change free software--to make sure the software is free
for all its users.
This license, the Lesser General Public License, applies to some specially
designated software packages--typically libraries--of the Free Software Foundation
and other authors who decide to use it. You can use it too, but we suggest you
first think carefully about whether this license or the ordinary General Public
License is the better strategy to use in any particular case, based on the
explanations below.
When we speak of free software, we are referring to freedom of use, not price. Our
General Public Licenses are designed to make sure that you have the freedom to
distribute copies of free software (and charge for this service if you wish); that
you receive source code or can get it if you want it; that you can change the
software and use pieces of it in new free programs; and that you are informed that
you can do these things.
For example, if you distribute copies of the library, whether gratis or for a fee,
you must give the recipients all the rights that we gave you. You must make sure
that they, too, receive or can get the source code. If you link other code with
the library, you must provide complete object files to the recipients, so that
they can relink them with the library after making changes to the library and
recompiling it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the library, and
(2) we offer you this license, which gives you legal permission to copy,
distribute and/or modify the library.
Finally, software patents pose a constant threat to the existence of any free
program. We wish to make sure that a company cannot effectively restrict the users
of a free program by obtaining a restrictive license from a patent holder.
Therefore, we insist that any patent license obtained for a version of the library
must be consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the ordinary GNU
General Public License. This license, the GNU Lesser General Public License,
applies to certain designated libraries, and is quite different from the ordinary
General Public License. We use this license for certain libraries in order to
permit linking those libraries into non-free programs.
We call this license the "Lesser" General Public License because it does Less to
protect the user's freedom than the ordinary General Public License. It also
provides other free software developers Less of an advantage over competing
non-free programs. These disadvantages are the reason we use the ordinary General
Public License for many libraries. However, the Lesser license provides advantages
For example, on rare occasions, there may be a special need to encourage the
widest possible use of a certain library, so that it becomes a de-facto standard.
To achieve this, non-free programs must be allowed to use the library. A more
frequent case is that a free library does the same job as widely used non-free
libraries. In this case, there is little to gain by limiting the free library to
free software only, so we use the Lesser General Public License.
Although the Lesser General Public License is Less protective of the users'
freedom, it does ensure that the user of a program that is linked with the Library
has the freedom and the wherewithal to run that program using a modified version
of the Library.
The precise terms and conditions for copying, distribution and modification
follow. Pay close attention to the difference between a "work based on the
library" and a "work that uses the library". The former contains code derived from
the library, whereas the latter must be combined with the library in order to run.
The "Library", below, refers to any such software library or work which has been
distributed under these terms. A "work based on the Library" means either the
Library or any derivative work under copyright law: that is to say, a work
containing the Library or a portion of it, either verbatim or with modifications
and/or translated straightforwardly into another language. (Hereinafter,
translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making
modifications to it. For a library, complete source code means all the source code
for all modules it contains, plus any associated interface definition files, plus
the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by
this License; they are outside its scope. The act of running a program using the
Library is not restricted, and output from such a program is covered only if its
contents constitute a work based on the Library (independent of the use of the
Library in a tool for writing it). Whether that is true depends on what the
Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and disclaimer
of warranty; keep intact all the notices that refer to this License and to the
absence of any warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy, and you may at
your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it, thus
forming a work based on the Library, and copy and distribute such modifications or
work under the terms of Section 1 above, provided that you also meet all of these
conditions:
b) You must cause the files modified to carry prominent notices stating that you
changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all third
parties under the terms of this License.
(For example, a function in a library to compute square roots has a purpose that
is entirely well-defined independent of the application. Therefore, Subsection 2d
requires that any application-supplied function or table used by this function
must be optional: if the application does not supply it, the square root function
must still compute square roots.)
Thus, it is not the intent of this section to claim rights or contest your rights
to work written entirely by you; rather, the intent is to exercise the right to
control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the
Library (or with a work based on the Library) on a volume of a storage or
distribution medium does not bring the other work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public License
instead of this License to a given copy of the Library. To do this, you must alter
all the notices that refer to this License, so that they refer to the ordinary GNU
General Public License, version 2, instead of to this License. (If a newer version
than version 2 of the ordinary GNU General Public License has appeared, then you
can specify that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the
ordinary GNU General Public License applies to all subsequent copies and
derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a
4. You may copy and distribute the Library (or a portion or derivative of it,
under Section 2) in object code or executable form under the terms of Sections 1
and 2 above provided that you accompany it with the complete corresponding
machine-readable source code, which must be distributed under the terms of
Sections 1 and 2 above on a medium customarily used for software interchange.
However, linking a "work that uses the Library" with the Library creates an
executable that is a derivative of the Library (because it contains portions of
the Library), rather than a "work that uses the library". The executable is
therefore covered by this License. Section 6 states terms for distribution of such
executables.
When a "work that uses the Library" uses material from a header file that is part
of the Library, the object code for the work may be a derivative work of the
Library even though the source code is not. Whether this is true is especially
significant if the work can be linked without the Library, or if the work is
itself a library. The threshold for this to be true is not precisely defined by
law.
If such an object file uses only numerical parameters, data structure layouts and
accessors, and small macros and small inline functions (ten lines or less in
length), then the use of the object file is unrestricted, regardless of whether it
is legally a derivative work. (Executables containing this object code plus
portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the
object code for the work under the terms of Section 6. Any executables containing
that work also fall under Section 6, whether or not they are linked directly with
the Library itself.
6. As an exception to the Sections above, you may also combine or link a "work
that uses the Library" with the Library to produce a work containing portions of
the Library, and distribute that work under terms of your choice, provided that
the terms permit modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library is used
in it and that the Library and its use are covered by this License. You must
supply a copy of this License. If the work during execution displays copyright
notices, you must include the copyright notice for the Library among them, as well
as a reference directing the user to the copy of this License. Also, you must do
one of these things:
a) Accompany the work with the complete corresponding machine-readable source code
for the Library including whatever changes were used in the work (which must be
distributed under Sections 1 and 2 above); and, if the work is an executable
linked with the Library, with the complete machine-readable "work that uses the
Library", as object code and/or source code, so that the user can modify the
Library and then relink to produce a modified executable containing the modified
Library. (It is understood that the user who changes the contents of definitions
files in the Library will not necessarily be able to recompile the application to
use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the Library. A
suitable mechanism is one that (1) uses at run time a copy of the library already
present on the user's computer system, rather than copying library functions into
the executable, and (2) will operate properly with a modified version of the
library, if the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years, to
give the same user the materials specified in Subsection 6a, above, for a charge
no more than the cost of performing this distribution.
e) Verify that the user has already received a copy of these materials or that you
have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must
include any data and utility programs needed for reproducing the executable from
it. However, as a special exception, the materials to be distributed need not
include anything that is normally distributed (in either source or binary form)
with the major components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies the
executable.
It may happen that this requirement contradicts the license restrictions of other
proprietary libraries that do not normally accompany the operating system. Such a
contradiction means you cannot use both them and the Library together in an
executable that you distribute.
7. You may place library facilities that are a work based on the Library
side-by-side in a single library together with other library facilities not
covered by this License, and distribute such a combined library, provided that the
separate distribution of the work based on the Library and of the other library
facilities is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities. This must be distributed
under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of it is
a work based on the Library, and explaining where to find the accompanying
uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library
except as expressly provided under this License. Any attempt otherwise to copy,
modify, sublicense, link with, or distribute the Library is void, and will
automatically terminate your rights under this License. However, parties who have
received copies, or rights, from you under this License will not have their
licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to modify or distribute the Library or
its derivative works. These actions are prohibited by law if you do not accept
this License. Therefore, by modifying or distributing the Library (or any work
based on the Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying the Library or
works based on it.
10. Each time you redistribute the Library (or any work based on the Library), the
recipient automatically receives a license from the original licensor to copy,
distribute, link with or modify the Library subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of the
rights granted herein. You are not responsible for enforcing compliance by third
parties with this License.
It is not the purpose of this section to induce you to infringe any patents or
other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribution system which is implemented by public license practices. Many people
have made generous contributions to the wide range of software distributed through
that system in reliance on consistent application of that system; it is up to the
author/donor to decide if he or she is willing to distribute software through any
other system and a licensee cannot impose that choice.
13. The Free Software Foundation may publish revised and/or new versions of the
Lesser General Public License from time to time. Such new versions will be similar
in spirit to the present version, but may differ in detail to address new problems
or concerns.
14. If you wish to incorporate parts of the Library into other free programs whose
distribution conditions are incompatible with these, write to the author to ask
for permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status of all
derivatives of our free software and of promoting the sharing and reuse of
software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE
LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED
IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH
YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY
TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
To apply these terms, attach the following notices to the library. It is safest to
attach them to the start of each source file to most effectively convey the
exclusion of warranty; and each file should have at least the "copyright" line and
a pointer to where the full notice is found.
<one line to give the library's name and an idea of what it does.> Copyright (C)
<year> <name of author>
This library is free software; you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as published by the Free Software
Foundation; either version 2.1 of the License, or (at your option) any later
version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA
determines your right to use the Oracle program, including the Engelschall software,
and the terms contained in the following notices do not change those rights.
Notwithstanding anything to the contrary in the Oracle program license, the mod_mm
software is provided by Oracle "AS IS" and without warranty or support of any kind
from Oracle or Engelschall.
mod_mm
Copyright (c) 1999 - 2000 Ralf S. Engelschall. All rights reserved.
This product includes software developed by Ralf S. Engelschall
<[email protected]> for use in the mod_ssl project (http://www.modssl.org/).
mod_ssl
Copyright (c) 1998-2001 Ralf S. Engelschall. All rights reserved.
This product includes software developed by Ralf S. Engelschall
<[email protected]> for use in the mod_ssl project (http://www.modssl.org/).
OpenSSL
This program contains third-party code from the OpenSSL Project. Under the terms of
the OpenSSL Project license, Oracle is required to provide the following notices. Note,
however, that the Oracle program license that accompanied this product determines
your right to use the Oracle program, including the OpenSSL software, and the terms
contained in the following notices do not change those rights.
OpenSSL License
/* ====================================================================
* Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* [email protected].
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
Perl
This program contains third-party code from the Comprehensive Perl Archive
Network ("CPAN"). Under the terms of the CPAN license, Oracle is required to
provide the following notices. Note, however, that the Oracle program license that
accompanied this product determines your right to use the Oracle program, including
the CPAN software, and the terms contained in the following notices do not change
those rights.
For those of you that choose to use the GNU General Public License, my interpretation
of the GNU General Public License is that no Perl script falls under the terms of the
GPL unless you explicitly put said script under the terms of the GPL yourself.
Furthermore, any object code linked with perl does not automatically fall under the
terms of the GPL, provided such object code only adds definitions of subroutines and
variables, and does not otherwise impair the resulting interpreter from executing any
standard Perl script. I consider linking in C subroutines in this manner to be the moral
equivalent of defining subroutines in the Perl language itself. You may sell such an
object file as proprietary provided that you provide or offer to provide the Perl source,
as specified by the GNU General Public License. (This is merely an alternate way of
specifying input to the program.) You may also sell a binary produced by the dumping
of a running Perl script that belongs to you, provided that you provide or offer to
provide the Perl source as specified by the GPL. (The fact that a Perl interpreter and
your code are in the same binary file is, in this case, a form of mere aggregation.) This
is my interpretation of the GPL. If you still have concerns or difficulties understanding
my intent, feel free to contact me. Of course, the Artistic License spells all this out for
your protection, so you may prefer to use that.
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
Preamble
The intent of this document is to state the conditions under which a Package may be
copied, such that the Copyright Holder maintains some semblance of artistic control
over the development of the package, while giving the users of the package the right
to use and distribute the Package in a more-or-less customary fashion, plus the right to
make reasonable modifications.
Definitions
"Package" refers to the collection of files distributed by the Copyright Holder, and
derivatives of that collection of files created through textual modification.
"Standard Version" refers to such a Package if it has not been modified, or has been
modified in accordance with the wishes of the Copyright Holder as specified below.
"Copyright Holder" is whoever is named in the copyright or copyrights for the
package.
"You" is you, if you're thinking about copying or distributing this Package.
"Reasonable copying fee" is whatever you can justify on the basis of media cost,
duplication charges, time of people involved, and so on. (You will not be required to
justify it to the Copyright Holder, but only to the computing community at large as a
market that must bear the fee.)
"Freely Available" means that no fee is charged for the item itself, though there may be
fees involved in handling the item. It also means that recipients of the item may
redistribute it under the same conditions they received it.
1. You may make and give away verbatim copies of the source form of the Standard
Version of this Package without restriction, provided that you duplicate all of the
original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived from
the Public Domain or from the Copyright Holder. A Package modified in such a
way shall still be considered the Standard Version.
3. You may otherwise modify your copy of this Package in any way, provided that
you insert a prominent notice in each changed file stating how and when you
changed that file, and provided that you do at least ONE of the following:
a. place your modifications in the Public Domain or otherwise make them Freely
Available, such as by posting said modifications to Usenet or an equivalent
medium, or placing the modifications on a major archive site such as
uunet.uu.net, or by allowing the Copyright Holder to include your
modifications in the Standard Version of the Package.
b. use the modified Package only within your corporation or organization.
c. rename any non-standard executables so the names do not conflict with
standard executables, which must also be provided, and provide a separate
manual page for each non-standard executable that clearly documents how it
differs from the Standard Version.
d. make other distribution arrangements with the Copyright Holder.
4. You may distribute the programs of this Package in object code or executable form,
provided that you do at least ONE of the following:
a. distribute a Standard Version of the executables and library files, together with
instructions (in the manual page or equivalent) on where to get the Standard
Version.
b. accompany the distribution with the machine-readable source of the Package
with your modifications.
c. give non-standard executables non-standard names, and clearly document the
differences in manual pages (or equivalent), together with instructions on
where to get the Standard Version.
d. make other distribution arrangements with the Copyright Holder.
5. You may charge a reasonable copying fee for any distribution of this Package. You
may charge any fee you choose for support of this Package. You may not charge a
fee for this Package itself. However, you may distribute this Package in aggregate
with other (possibly commercial) programs as part of a larger (possibly
commercial) software distribution provided that you do not advertise this Package
as a product of your own. You may embed this Package's interpreter within an
executable of yours (by linking); this shall be construed as a mere form of
aggregation, provided that the complete Standard Version of the interpreter is so
embedded.
6. The scripts and library files supplied as input to or produced as output from the
programs of this Package do not automatically fall under the copyright of this
Package, but belong to whoever generated them, and may be sold commercially,
and may be aggregated with this Package. If such scripts or library files are
aggregated with this Package through the so-called "undump" or "unexec"
methods of producing a binary executable image, then distribution of such an
image shall neither be construed as a distribution of this Package nor shall it fall
under the restrictions of Paragraphs 3 and 4, provided that you do not represent
such an executable image as a Standard Version of this Package.
7. C subroutines (or comparably compiled subroutines in other languages) supplied
by you and linked into this Package in order to emulate subroutines and variables
of the language defined by this Package shall not be considered part of this
Package, but are the equivalent of input as in Paragraph 6, provided these
subroutines do not change the language in any way that would cause it to fail the
regression tests for the language.
8. Aggregation of this Package with a commercial distribution is always permitted
provided that the use of this Package is embedded; that is, when no overt attempt
is made to make this Package's interfaces visible to the end user of the commercial
distribution. Such use shall not be construed as a distribution of this Package.
9. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
The End
SAXPath
This program contains third-party code from SAXPath. Under the terms of the
SAXPath license, Oracle is required to provide the following notices. Note, however,
that the Oracle program license that accompanied this product determines your right
to use the Oracle program, including the SAXPath software, and the terms contained
in the following notices do not change those rights. Notwithstanding anything to the
contrary in the Oracle program license, the SAXPath software is provided by Oracle
"AS IS" and without warranty or support of any kind from Oracle or SAXPath.
Redistributions of source code must retain the above copyright notice, this list
of conditions, and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions, and the disclaimer that follows these conditions in the
documentation and/or other materials provided with the distribution.
The name "SAXPath" must not be used to endorse or promote products derived from
this software without prior written permission. For written permission, please
contact [email protected].
Products derived from this software may not be called "SAXPath", nor may "SAXPath"
appear in their name, without prior written permission from the SAXPath Project
Management ([email protected]).
In addition, we request (but do not require) that you include in the end-user
documentation provided with the redistribution and/or in the software itself an
acknowledgment equivalent to the following: "This product includes software
developed by the SAXPath Project (http://www.saxpath.org/)." Alternatively, the
acknowledgment may be graphical using the logos available at
http://www.saxpath.org/.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE SAXPath
AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made
by many individuals on behalf of the SAXPath Project and was originally created by
bob mcwhirter and James Strachan . For more information on the SAXPath Project,
please see http://www.saxpath.org/.
W3C DOM
This program contains third-party code from the World Wide Web Consortium
("W3C"). Under the terms of the W3C license, Oracle is required to provide the
following notices. Note, however, that the Oracle program license that accompanied
this product determines your right to use the Oracle program, including the W3C
software, and the terms contained in the following notices do not change those rights.
Notwithstanding anything to the contrary in the Oracle program license, the W3C
software is provided by Oracle AS IS and without warranty or support of any kind
from Oracle or W3C.
Permission to copy, modify, and distribute this software and its documentation,
with or without modification, for any purpose and without fee or royalty is hereby
granted, provided that you include the following on ALL copies of the software and
documentation or portions thereof, including modifications:
The full text of this NOTICE in a location viewable to users of the redistributed
or derivative work.
Any pre-existing intellectual property disclaimers, notices, or terms and
conditions. If none exist, the W3C Software Short Notice should be included
(hypertext is preferred, text is permitted) within the body of any redistributed
or derivative code.
Notice of any changes or modifications to the files, including the date changes
were made. (We recommend you provide URIs to the location from which the code is
derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or
publicity pertaining to the software without specific, written prior permission.
Title to copyright in this software and any associated documentation will at all
times remain with copyright holders.
Index-1
and deployment plans, 8-2 I
overview, 8-2
deployment from, 13-1 incremental EJB deployment, 3-1
deployment plans
and packaged deployment descriptors, 8-2 J
creating, 8-3
JConsole, 11-28
list of properties, 8-4
JDeveloper
overview, 8-1
deploying with, 1-5
deployment process
JMX client for managing OC4J, 11-29
overview, 2-1
JSPs
deployment tasks, 9-5
adding to a deployed application, 5-2
configuring clustering, 9-8
modifying in a deployed application, 5-2
configuring EJBs, 9-6
managing shared libraries, 9-7
mapping roles, 9-6 L
resource mappings, 9-9 libraries
selecting the security provider, 9-6 creating shared, 11-15
deployment tools, 12-1 installing shared, 11-15
admin_client.jar Command-Line Utility, 1-4 managing shared, 11-15
admin_client.jar command-line utility, 11-1 libraries, installing shared, 11-15
admin.jar, 12-1 -listSharedLibraries command, 11-18
admin.jar Command-Line Utility, 1-4
Ant tasks, 1-3, 10-1
Application Server Control Console, 1-3, 9-1 M
Eclipse, 13-1 managing OC4J through a JMX client, 11-29
JDeveloper, 1-5 mod_oc4j, 2-2
-describeSharedLibrary command, 11-17 -modifySharedLibrary command, 11-17
modifySharedLibrary task, 10-18
E mount points
configuring for deployed applications, 2-2
Eclipse, 13-1
Ant tasks, 13-1, 13-2
deploying Web applications with, 13-1 O
Web Application deployment, 13-2 OC4J
Web Tools Platform for deployment, 13-1 administration, 11-1
EJB module Ant tasks, 1-3
deploying, 3-1 command-line interface, 11-1
impact of redeployment on clients, 3-5 restarting, 11-18, 11-19
incremental deployment, 3-1 shutting down, 11-19
updating, 11-15 stopping, 11-18
entity beans OC4J Ant Tasks, 1-3, 10-1
redeploying, 3-6 OC4J polling, 14-1
disabling, 14-3
G Oracle HTTP Server, 2-2
Index-2
-removeDestination command, 11-27 -usage command, 11-6
removeDestination task, 10-31
-removeJMSConnectionFactory command, 11-26
V
removeJMSConnectionFactory task, 10-29
-removeManagedDataSource command, 11-22 valid archive types, 1-1
-removeNativeDataSource command, 11-23 -validateURI command, 11-5
removeNativeDataSource task, 10-25
-removeSharedLibrary command, 11-18 W
removeSharedLibrary task, 10-19
resource adapters WAR files
deploying, 12-5 deploying as standalone modules, 5-1
undeploying, 12-5 wrapped within an EAR file, 5-1
-restart command, 11-19 Web module
restarting adding JSPs to, 5-2
OC4J, 11-19 deploying, 5-1
restarting applications, 11-18 modifying JSPs in, 5-2
restarting OC4J, 11-18 redeploying, 5-1
restartServer task, 10-20 Web services
deploying, 7-1
redeploying, 7-1
S Web site
script file for batch deployment, 11-12 binding an application to a, 2-2
scripted deployment, 10-1, 12-1 Web Tools Platform, 13-1
using admin.jar, 1-4
using Ant tasks, 1-3 X
session beans
redeploying, 3-5 XML schemas
shared libraries viewing, 8-2
creating, 11-15 XSDs
installing, 11-15 viewing, 8-2
managing, 11-15
-shutdown command, 11-19
shutdownServer task, 10-20
-start command, 11-18
start task, 10-20
starting applications, 11-18
-stop command, 11-18
stop task, 10-20
stopping a group of OC4J instances, 11-19
stopping an OC4J instance in a managed
environment, 11-19
stopping applications, 11-18
stopping OC4J, 11-18
stopping OC4J in a standalone configuration, 11-19
T
-testDatabaseConnection command, 11-24
testDatabaseConnection task, 10-26
-testDataSource command, 11-24
testDataSource task, 10-27
-testDataSourceConnectionPool command, 11-20
testDataSourceConnectionPool task, 10-22
U
-undeploy command, 11-14
undeploy task, 10-15
undeployment, 2-6
-updateEJBModule command, 11-15
updateEJBModule task, 10-15
Index-3
Index-4