OC4J 11g 版本说明
Oracle Containers for Java EE 11g 技术预览版

Oracle Containers for Java EE (OC4J) 11 技术预览版

版本说明

OC4J 11 概述

Oracle Containers for Java EE 或 OC4J 是 Oracle 应用服务器的核心 Java 企业版运行时组件。OC4J 11 服务器提供了 Java EE 5.0 规范规定的所有容器、API 和服务。

OC4J 全部用 Java 编写,在标准 Java 开发工具包的 Java 虚拟机 (JVM) 上执行。当前的 OC4J 版本需要 JDK 5.0 版。注意,您必须安装 JDK,它不随 OC4J 提供。

注意,该 OC4J 技术预览版不受 Oracle 官方支持。

请参阅产品随附的自述文件,以获得有关安装、启动和使用 OC4J 11 的说明。

OC4J 11 中的 Java EE 5.0 支持

OC4J 支持下表中列出的标准 Java EE 5.0 规范。

J2EE 规范 OC4J 支持的版本

JavaServer Page (JSP)

2.1

Servlet

2.5

JavaServer Faces (JSF)

1.2

Enterprise JavaBeans (EJB)

3.0

Java 持久性 API (JPA)

1.0

Java EE 管理

1.1

Java EE 应用程序部署

1.2

JMX 远程访问 API

JSR-160

Java 事务 API (JTA)

1.0

Java 密码扩展 (JCE)

1.2.2

Java 事务服务

1.0

Java 消息服务 (JMS)

1.1

Java 命名和目录接口 (JNDI)

1.2

Java Mail

1.3.1

Java Activation Framework

1.0.2

Java 数据库连接 (JDBC)

3.0

Java 验证与授权服务 (JAAS)

1.0

Java EE 连接器体系结构

1.5

Java API for XML Web Services (JAX-WS)

2.0

企业 Web 服务

1.2

Web 服务元数据

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

Java 通用批注

1.0

Streaming API for XML (StAX)

1.0

OC4J 11 中的新特性和增强特性

以下主题概述了 Oracle Containers for Java EE 中的新特性以及对早期版本的功能更改。

支持的新描述符文件名

在 OC4J 11g 生产版中,所有 Oracle 专用的部署描述符(如 orion-application.xml)将以 oracle- 前缀重命名。文件名中包含 oracle-*.xml 的文件在当前版本中受支持。

对 Web 服务的支持

OC4J 根据 Java EE 标准为 Web 服务提供完全支持。这包括对 Java EE 5 中增强的 Web 服务编程模型 Java API for XML Web Services (JAX-WS) 的支持。其他支持还包括:

  • 支持 Web 服务异步编程模型
  • 将服务质量基础架构与 Web 服务策略和 Web 服务策略附件集成
  • 可交换的 JAXB 2.0 Web 服务数据绑定支持 Oracle TopLink 中高度可扩展和高度可自定义的实现或者现成的 JAXB 2.0 参考实现。
  • 针对基于 REST (XML) 服务的其他开发和工具增强。

对 Web 应用程序的支持

OC4J 11g 提供了部署、运行和管理 Java EE 5.0 Web 应用程序所需的基础架构,包括对 JavaServer Faces 1.2 和 AJAX 的内置支持。此外,可以与 AJAX 结合使用的一个新的异步 servlet 功能允许 servlet 在等待其他进程结束时暂时停止执行并释放其线程。

对企业 JavaBeans 3.0 的支持

OC4J 提供了对企业 JavaBeans 3.0 规范的完全支持,包括支持 EJB 批注和相关性注入。

对 Oracle TopLink 的支持

Oracle TopLink 是一个高级的对象持久性框架,可以与众多的 Java EE 和 Java 应用程序体系结构结合使用。TopLink 继续在 OC4J 中提供 Java 持久性 API (JPA) 实现。

新的通用连接池

通用连接池为数据库连接池提供了增强的通用基础架构。它可以在 OC4J 上下文中使用,也可以供非 Java EE 应用程序连接到 Oracle 和非 Oracle 数据库以及其他资源(如 JCA 和 LDAP 连接)。

Java 消息服务增强

新的 OC4J 提供了 JMS 性能优化,如存储和转发基础架构强化。OC4J-JMS 和 AQ-JMS JMS 提供程序的配置也得到了简化。

对 Spring Framework 的增强支持

OC4J 继续为日益流行的 Spring Framework 上构建的应用程序提供支持。该版本中的增强包括:

  • 与 Spring 事务子系统紧密集成,可以快速、直接地访问 OC4J 事务管理器,并向 Spring 事务用户公开其他 OC4J 特性
  • 使用标准 Java EE 相关性注入对 Spring bean 进行透明访问,从而简化了 Spring 组件模型在较为传统的 Java EE 应用程序中的使用
  • 共享在 Java EE 模块(如 EJB 模块)间共享的管理应用程序上下文

已知问题

一般问题

该版本中的已知问题如下。注意,这是技术预览版,这意味着它不代表产品质量。

没有提供管理控制台

该版本没有提供 Application Server Control 管理控制台。可以使用 admin_client.jar 工具执行管理任务,如应用程序部署。

运行应用程序时的内存问题

如果使用默认 JDK 设置,可能会遇到 PermGen 问题,这取决于在容器上运行的应用程序的大小。这些错误包含以下短语:"... nested exception is java.lang.OutOfMemoryError:PermGen spaceCaused by:java.lang.OutOfMemoryError:PermGen space"。

解决方案是在 OC4J 启动时增加 PermGen 空间。为此,您可以在 oc4j.jar 命令行中设置一个系统属性:

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

或者使用 oc4j.cmd 启动命令,如下所示:

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

Web 服务问题

打印到控制台的策略通知问题

在调用 Web 服务时,控制台会打印与策略配置相关的信息,如“No policy to enforce”。这些消息仅供参考。

解决方案是使用标准 Java 日志记录属性文件更改客户端的日志级别,并将其设为 WARNING (.level= WARNING),然后使用 java.util.logging.config.file 将您的客户端指向它。

JMS 问题

启用新的 JMS 提供程序

该 OC4J 版本包含的是新的高性能 JMS 提供程序的早期试用版。新的 JMS 提供程序通过编辑 J2EE_HOME\config\jms.xml 文件进行配置。

在启动 OC4J 时,使用以下系统属性启用新的 JMS 提供程序,这实际上将覆盖默认的 OC4J-JMS 提供程序:

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

-Doc4j.jms.implementation=oc4j.j2ee.jms 系统属性仍然受支持,但不推荐使用。

寄送此页面
Printer View 打印机视图