Oracle Containers for Java EE 11g Technology Preview

Oracle Containers for Java EE (OC4J) 11 Technology Preview

Release Notes

Overview of OC4J 11

Oracle Containers for Java EE, or OC4J, is the core Java Enterprise Edition runtime component of Oracle Application Server. The OC4J 11 server provides all of the containers, APIs and services mandated by the Java EE 5.0 specification.

OC4J is written entirely in Java and executes on the Java Virtual Machine (JVM) of the standard Java Development Kit (JDK). The current OC4J release requires JDK release 5.0. Note you must install the JDK; it is not provided with OC4J.

Note that this Technology Preview release of OC4J is NOT officially supported by Oracle.

See the README packaged with the product for instructions on installing, starting and using OC4J 11.

Java EE 5.0 Support in OC4J 11

OC4J supports the standard Java EE 5.0 specifications listed in the table below.

J2EE Specification Version Supported By OC4J

JavaServer Pages (JSP)

2.1

Servlets

2.5

JavaServer Faces (JSF)

1.2

Enterprise JavaBeans (EJB)

3.0

Java Persistence API (JPA)

1.0

Java EE Management

1.1

Java EE Application Deployment

1.2

JMX Remote Access API

JSR-160

Java Transaction API (JTA)

1.0

Java Cryptography Extension (JCE)

1.2.2

Java Transaction Service

1.0

Java Message Service (JMS)

1.1

Java Naming and Directory Interface (JNDI)

1.2

Java Mail

1.3.1

Java Activation Framework

1.0.2

Java Database Connectivity (JDBC)

3.0

Java Authentication and Authorization Service (JAAS)

1.0

Java EE Connector Architecture

1.5

Java API for XML Web Services (JAX-WS)

2.0

Enterprise Web Services

1.2

Web Services Metadata

2.0

Java API for XML-Based RPC (JAX-RPC)

1.1

SOAP with Attachments API for Java (SAAJ)

1.3

Java API for XML Processing (JAXP)

1.2

Java API for XML Registries (JAXR)

1.0.5

Java API for XML Binding

2.0

Common Annotations for Java

1.0

Streaming API for XML (StAX)

1.0

New and Enhanced Features in OC4J 11

The following topics outline new features in Oracle Containers for Java EE as well as functional changes from previous releases.

New Descriptor Filenames Supported

In the production OC4J 11g release, all Oracle-proprietary deployment descriptors, such as orion-application.xml, wil be re-named with the oracle- prefix. Files that include oracle-*.xml in the filename are supported in the current release.

Support for Web Services

OC4J provides full support for Web services in accordance with the Java EE standard. This includes support for Java API for XML Web Services (JAX-WS), the enhanced programming model for Web services in Java EE 5. Additional support includes:

  • Support for an asynchronous programming model for Web services
  • Integration of the quality of services infrastructure with Web Services Policy and Web Services Policy Attachments
  • Swappable JAXB 2.0 Web services databinding supporting both the highly extensible and customizable implementation in Oracle TopLink or the out of the box JAXB 2.0 reference implementation.
  • Additional development and tooling enhancements for REST (XML) -based services.

Support for Web Applications

OC4J 11g provides the infrastructure needed to deploy, run and manage Java EE 5.0 Web applications, including built-in support for JavaServer Faces 1.2 and AJAX. In addition, a new asynchronous servlet feature that can be used in conjunction with AJAX enables a servlet to temporarily stop execution and release its thread while waiting for another process to finish.

Support for Enterprise JavaBeans 3.0

OC4J provides complete support for the Enterprise JavaBeans 3.0 specification, including support for EJB annotations and dependency injections.

Support for Oracle TopLink

Oracle TopLink is an advanced object-persistence framework for use with a wide range of Java EE and Java application architectures. TopLink continues to provide the Java Persistence API (JPA) implementation in OC4J.

New Universal Connection Pool

The Universal Connection Pool provides an enhanced common infrastructure for database connection pooling. It is usable within the OC4J context as well as by non-Java EE applications for connecting to Oracle and non-Oracle databases and other resources like JCA and LDAP connections.

Java Message Service Enhancements

The new OC4J provides JMS performance optimizations such as store and forward infrastructure hardening. Configuration of the OC4J-JMS and AQ-JMS JMS providers has also been simplified.

Enhanced Support for the Spring Framework

OC4J continues to provide support for applications built on the increasingly popular Spring Framework. Enhancements in this release include:

  • A tight integration with the Spring transaction subsystem, providing quick and direct access to the OC4J transaction manager and exposes additional OC4J features to Spring transaction users
  • Transparent access to Spring beans using standard Java EE dependency injection, simplifying usage of the Spring component model into a more traditional Java EE application
  • Sharing of managed application contexts shared across Java EE modules, such as EJB modules

Known Issues

General Issues

The following are known issues in this release. Note that this is a Technology Preview release, meaning that it is not production quality.

No Management Console Provided

The Application Server Control management console is not available in this release. Use the admin_client.jar tool to perform management tasks such as application deployment.

Memory Issues When Running Applications

Depending on the size of application being run on the container, PermGen issues may be encountered if using the default JDK settings. These errors contain the following phrase: "... nested exception is java.lang.OutOfMemoryError: PermGen spaceCaused by: java.lang.OutOfMemoryError: PermGen space".

The solution is to increase the PermGen space at OC4J startup. You can do this by setting a system property on the oc4j.jar command line:

java -jar -XX:MaxPermSize=256M oc4j.jar

Or using the oc4j.cmd startup command as follows:

SET JAVA_HOME=<java_home>
SET JVM_ARGS=-XXMaxPerSize=256M
SET ORACLE_HOME=<oc4j_home>
oc4j.cmd -start

Web Services Issues

Policy Notification Issues Printed to Console

When invoking Web Service the console prints information related to policy configuration, such as "No policy to enforce". These messages are for information only.

The work around for this is to change the log level of the client using a standard Java logging properties file and set it to WARNING (.level= WARNING), and use the java.util.logging.config.file to point your client to it.

JMS Issues

Enabling New JMS Provider

This OC4J release includes an early-access version of a new, high-performance JMS provider. The new JMS provider is configured by editing the J2EE_HOME\config\jms.xml file.

Use the following system property when starting OC4J to enable the new JMS provider, and essentially override the default OC4J-JMS provider:

-Doc4j.jms.implementation=oracle.j2ee.jms

The -Doc4j.jms.implementation=oc4j.j2ee.jms system property is also supported but has been deprecated.

E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy