Oracle Containers for J2EE(OC4J) 独立版
主要內容 1.OC4J概述 2. OC4J配置和發布Web Application 3.OC4J的部署 4.Eclipse+MyEclipse中配置OC4J及發布
1.OC4J概述 一 、簡介 OC4J独立版是Oracle应用服务器产品家族的成员,包含J2EE和Web服务组件。OC4J独立版比完整的Oracle应用服务器产品稍小,下载以后只有一个ZIP文件。它作为单JAVA进程执行。 OC4J独立版兼容于J2EE1.3,可用于开发和运行小规模产品。OC4J独立版提供了内嵌的HTTP/S监听器,允许客户端运行发布后的应用程序。OC4J独立版的应用程序发布与服务器的配置,需要手工编辑几个XML文件。
二、主要特點 實現與J2EE的完全兼容。 實施J2EE1.3規范的大部分內容。 在標准JDK1.4或更高版本上運行。 系統十分輕便,占用資源少。 具有很高的性能和可伸縮性。 可提高開發人員的生產效率。 易於管理和部署。
三、OC4J API JNDI:OC4J 實施輕量級的Java命名和目錄接口(JNDI),OC4j中的Servlet和Enterprise JavaBeans可以通過標准的JNDI編程接口來訪問名稱.OC4j中所提供的JNDI服務是在基于XML(data-source.xml)的文件系統中實施的。 JTA:java 事務處理API(JTA)支持各種事務處理,包括容器管理的事務處理。通過容量處理並由應用程序部署描述符配置的JDBC和EJB API 來完成的。
JMS:java消息傳送服務實施輕量級的消息服務。它是J2EE的一種功能,支持JAVA程序間消息傳送。 RMI:遠程方法調用使用優化的RMI傳輸協議。可以從Java虛擬機上調用遠程Java對象的方法。Oracel RMI(ORMI)是一種經過優化的RMI傳輸協議。
四、環境要求 1.oc4j (10.1.3.1)解壓包: oc4j_extended.zip 2. a Java2 Standard Edition (J2SE) SDK version 5.0 (or 1.4.2) 3.設置系統環境變量: JAVA_HOME:指向JDK 的安裝目錄 ORACLE_HOME:指向oc4j的安裝目錄(可不設)
2. OC4J配置和發布Web Application 1.第一次運行 a.將下載的oc4j_extended.zip文件解壓到一根目錄,例C:\oc4j b.運行CMD窗口,執行以下指定: cd \oc4j\j2ee\home java –jar oc4j.jar note:第一次運行時,要求為默認帳號:oc4jadmin輸入密碼,此時根據提示輸入密碼。
待屏幕顯示: Oracle Containers for J2EE 10g (10. 1. 3. 3 待屏幕顯示: Oracle Containers for J2EE 10g (10.1.3.3.0) initialized表示安裝成功,oc4j 已啟動。 當啟動OC4j后可通過訪問以下默認的地址來測試: http://主機名(IP地址):端口 例: http://localhost:8888/ http://127.0.0.1:8888/ 其中http默認監聽的端口為8888
2.oc4j的啟動與停止: a、啟動OC4J服务: 1>cmd中指定當前目錄為:<install_dir>\j2ee\home Java –jar oc4j.jar(通用) 2>通過運行<install_dir>\BIN\ oc4j.cmd oc4j -start (此方法需要指定ORACLE_HOME 環境變量)
1> cd <install_dir>/bin b、停止OC4J服务: 1> cd <install_dir>/bin oc4j -shutdown -port 23791 -password 5201314 (需要指定ORACLE_HOME 環境變量) 2> java -jar admin.jar ormi://ormihost:23791 oc4jadmin 5201314 –shutdown(最完美) 3> Ctrl+C強制退出 c、 重新启动OC4J服务: 1>java -jar admin.jar ormi://ormihost:23791 oc4jadmin 5201314 –restart 2>java -jar admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin 5201314 -restart
d、 正常停止服务失败的情况下,我们可以采用强制关闭的命令: java -jar admin.jar ormi://localhost:23791 admin admin –shutdown force 注意事项:启动OC4J服务的命令行窗口必须是单独的,要通过命令行进行OC4J服务的停止、重启、强制关闭,需要打开一个新的命令行窗口来操作。
二.基本配置及發布Web Application 1.OC4J HTTP监听器来改变HTTP端口 : OC4J HTTP监听器使用的端口被定义在配置文件: <J2EE_HOME>/config/http-web-site.xml文件的web-site标签port属性中。 <web-site port="8888" display-name="Oracle Application Server Containers for J2EE HTTP Web Site"> 你可以把port=“8888”修改为不同的端口号。 2. RMI監聽 端口的設定: <J2EE_HOME>/config/rmi.xml 文件的rmi-server port属性中默認為23791 3.(JNDI)Data source 的配置: <j2EE_HOME>/conifg/data-sources.xml來設定 通過指定managed-data-source ,和connection-pool兩個属性 例,以下為bu3 測試區DB datasource: <managed-data-source user="sajet" login-timeout="10" connection-pool-name="BU3TEST" jndi-name="jdbc/bu3test" name="BU3_TEST" tx-level="local"/> <connection-pool name="BU3TEST" max-connections="250"> <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="sajet" password="tech" url="jdbc:oracle:thin:@//10.241.20.243:1521/xtzhdb"/> </connection-pool>
2>硬編碼方式(直接在jsp頁面中創建DB Connection) Tomcat: 1>JNDI DRIVER方式 Tomcat (JNDI)引用: Context initcontext=new InitialContext(); Context envCtx=(Context)initcontext.lookup("java:comp/env"); javax.sql.DataSource ds=(javax.sql.DataSource)envCtx.lookup("jdbc/BU3"); oc4j (JNDI)引用: Context context=new InitialContext(); javax.sql.DataSource ds=(javax.sql.DataSource)context.lookup("jdbc/BU3"); note:jdbc/BU3大小寫要與數據源中配置的一致。 2>硬編碼方式(直接在jsp頁面中創建DB Connection) Tomcat: %TOMCAT_HOME%\lib\classes12dms.jar;%TOMCAT_HOME%\lib\dms.jar;%TOMCAT_HOME%\lib\nls_charset12.jar; 不能用oc4j自帶的三個驅動類 Oc4j: 兩類驅動包都OK。
在oc4j上布局web application時,需 配置<j2EE_HOME>/conifg/application.xml <j2EE_HOME>/conifg/default-web-site.xml 例:在application中指定一web 模組,應用WEB程序的路徑,告訴oc4j容器它的位置。例: <web-module id="add" path="../../home/My_web/test_2"/> <web-module id="login_hweb" path="../../home/application-autodeploy/Login"/> 在default-web-site.xml,將該web application與URL進行綁定,以便訪問. <web-app application="default" name="add" root="/test" load-on-startup="true" /> <web-app application="default" name="login_hweb" root="/Login" access-log="false" /> 配置好后,重啟oc4j,通過/Login路徑進行訪問。
3.OC4J的部署 OC4j配置文件:
Server.xml文件設定了以下設置 指向數據源、RMI和JMS配置文件的指針 要部署的應用程序 事件記錄設置 全局程序庫路徑。 事務處理超時。 允許的最大HTTP連接數。 群集ID Java編譯器設置 Application-directory屬性指定了存儲應用程序(EAR文件)的目錄 deployment-directory:屬性確定了Oc4j生成的特定文件的永久存儲位置.系統將為每個應用程序創建一個目錄,以用於存儲生成的文件。 存儲有關此應用程序的部署信息的目錄。如果沒有指定(為缺省情況),則OC4j服務器將信息存儲在.ear文件中。 Application 標記定義了應用程序檔案的名稱和路徑。
Default-web-site.xml文件: 定義缺省的OC4J站點 決定以下web站點設置: 用於AJP連接監聽端口號 此OC4J例程的缺省Web應用程序 已部署的Web應用程序綁定。 訪問日志的格式
Application.xml: Web-module 標記指定應用程序的Web應用程序模塊,每個Web應用程序都可以安裝在任何站點及所在站點的任何環境中 id是在Web站點上引用此Web應用程序時所使用的名稱 path是Web應用程序的路徑(相對於企業檔案路徑或絕對路徑) library標記定義了缺省程序庫目錄。 Principals標記用于引用缺省的principals.xml文件。 Log標記用來設置特定的日志文件。 Data-source標記指定缺省的數據源定義文件。
4.Eclipse+MyEclipse中配置OC4J及發布 主要介紹利用目前流行的開發工具來配置OC4J,並發 布web應用。(見操作)