中间件
Application Server
日期:1/18/06
作者:Jeff Trent/Debu Panda
OC4J 支持使用两个证书存储(即 Java KeyStore 和 Oracle Wallet)的 ORMIS。本教程将向您演示 Oracle 是如何支持 RMI/SSL (ORMIS) 使用这两种机制来查找远程对象的。配置使用 Java keytool 或 Oracle Wallet Manager 的证书超出了本教程的讨论范围。出于演示目的,本示例中的证书经过了预配置。
要启用 ORMIS,您必须在 config/rmi.xml 中进行以下更改
<rmi-server xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/rmi-server-10_0.xsd"
port="23791"
ssl-port="23943" <!—the default SSL server port for OC4J -->
schema-major-version="10"
schema-minor-version="0">
在由 OracleAS 管理的安装中,会忽略 rmi.xml 中定义的 RMI/RMIS 端口。请确保您已经为 OC4J 实例
$ORACLE_HOME/opmn/conf/opmn.xml 定义了端口范围
rmis。
<port id="rmis" range="12701-12800"/>
<ssl-config keystore="location-to-the-keystore" keystore-password="server-key-password"/>
位置可以是 j2ee/home/config 目录中的绝对路径,也可以是相对路径。
您需要在客户端执行以下操作才能使用 ORMIS 协议:
java -Djavax.net.ssl.keyStore=etc\keystore\client.ks -Djavax.net.ssl.keyStorePassword=clientkey HelloClient
ormis 协议,如下所示:
java.naming.provider.url=ormis://localhost/helloworld
java.naming.provider.url=opmn:ormis//localhost:6003:home/ORMIS
有关 OC4J 的详细信息,请参阅 OTN 上的以下文档:
本演示要求安装并正确配置了以下软件组件:
配置文件位于
%HOWTO_HOME%/etc 目录中,其中包括部署描述符文件,如 application.xml。
要在 Oracle 应用服务器 10g 10.1.3 的独立实例上运行此示例应用程序,请执行以下步骤:
确保定义以下环境变量:
为了使用 ORMIS,您必须在 %ORACLE_HOME%/j2ee/home/config/rmi.xml 中更改配置,以指定 ORMI/SSL 端口和密钥存储配置。
<rmi-server xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/rmi-server-10_0.xsd"
port="23791"
ssl-port="23943" <!—the default SSL server port for OC4J -->
schema-major-version="10"
schema-minor-version="0">
在由 OracleAS 管理的安装中,会忽略 rmi.xml 中定义的 RMI/RMIS 端口。请确保您已为实例
$ORACLE_HOME/opmn/conf/opmn.xml 定义了端口范围
rmis。
<ssl-config keystore="location-to-the-keystore" keystore-password="server-key-password"/>
为了运行该示例,我们包括了一个预配置的示例 Oracle Wallet。要使用该示例钱夹,请将
%HOW_TO_HOME%/etc 中的钱夹目录复制到
%ORACLE_HOME%/j2ee/home
<ssl-config keystore="../wallets/wallet-server-a/ewallet.p12" keystore-password="serverkey-a"/>
完成以上更改后,使用下列命令启动 OC4J 独立版。
>%ORACLE_HOME%/bin/oc4j -start
如果你使用的是由 OracleAS 控制的安装,在完成以上更改后,使用下列命令启动服务器。
> %ORACLE_HOME%/opmn/bin/opmnctl startall
Ant 1.6.2 是随 OC4J 一起提供的,你必须先设置 PATH 环境变量来使用 $ORACLE_HOME/ant/bin。在某些操作系统上,Ant 当前不支持使用环境变量。如果你使用的正好是这种系统,则要修改位于 %HOWTO_HOME% 目录中的 ant-oracle.xml 文件。
编辑 ant-oracle.properties(在 demo
目录中)并
确保正确设置以下属性,如以下 OC4J 单机版所示:
如果你使用的是由 OracleAS 控制的安装,则除了更改 oc4j.admin.user 和 oc4j.admin.password 外,还要在 OracleAS 安装过程中针对受控 OC4J 实例相应更改以下属性。
必须根据环境(例如,OPMN 管理的单个实例 OC4J 或集群化 OC4J 实例/组)取消注释 ant-oracle.properties 中相应的 deployer.uri 并进行更改。
必须对 jndi.properties 进行更改,如您的环境对应的 provider.url、主体和证书。如果使用的是 OracleAS 安装,则必须使用以下格式的 provider.url: opmn:ormis://localhost:6003:home/ORMIS。
要构建此应用程序,从 %HOWTO_HOME% 目录中键入以下命令:
>ant
%HOWTO_HOME%/lib 目录中现在应具有新建的 ORMIS.ear。
如果构建成功,此命令还将尝试部署应用程序存档。在尝试执行部署操作之前,它将首先测试 OC4J 是否正在运行。
请注意,您也可以单独部署该应用程序。确保定义了 %ORACLE_HOME% 环境变量,然后从 %HOWTO_HOME% 目录中键入命令:
>ant deploy
通过以下命令运行该示例。请确保按照“客户端要求”部分中所述,针对您环境特定的所有更改对 jndi.properties 文件进行了修改。如果您没有使用该演示附带的默认客户端钱夹,请更改 ant-oracle.xml,使其具有与客户端相应的 Oracle Wallet 信息。
ant run
您将获得以下输出:
[java] client started...
[java] using ormis://localhost/helloworld
[java] Hello Scott
在本文档中,您学习了:
热门下载 | ||