`

WebLogic ClassLoader

 
阅读更多

WebLogic ClassLoader

Weblogic中发布的一个应用一般目录结构如下

对应的各层级结构如下

Application ClassLoader用来加载EJB JARS、APP-INF/lib、APP-INF/classes、EJB JARS中ClassPath变量定制的路径下的类

Web Application ClassLoader用来加载WAR、WAR中ClassPath变量定制的路径下的类。

Weblogic下的ClassLoader用的也是委托模型。首先BootStrap先进行寻找,找不到再由ExtClassLoader寻找,然后在由AppClassLoader一级一级往下找。这样的分层结构有个好处,就是在Jsp,Servlet中可以直接访问EJB的接口。这种上层装载EJB,下层装载Servlet,最下层加载jsp文件的结构,使得经常变动的jsp,Servlet等可以被重新装载而不会被涉及到EJB层。
Weblogic可以通过修改配置文件weblogic.xml中的prefer-web-inf-classes元素,来修改这种加载顺序。默认情况下,该元素设置为 False。将该元素设置为 True 会颠反类加载器委托模型,以便优先加载 Web 应用程序中的类定义,其次才加载更高一级的类加载器中的类定义。这使得 Web 应用程序能够使用自己版本的第三方类,这些类也可能包含于 WebLogic Server 中。请参阅 weblogic.xml 部署描述符元素。

WebLogic Server 类加载以应用程序的概念为核心。应用程序通常打包为企业归档 (EAR) 文件,其中包含应用程序类。EAR 文件中的所有内容均被视为同一个应用程序的组成部分。

下面的内容可以作为EAR 的一部分,也可以作为独立应用程序进行加载:
Enterprise JavaBean (EJB) JAR 文件

Web 应用程序 WAR 文件

资源适配器 RAR 文件
如果分别部署EJB和Web应用程序,会将它们视为两个应用程序。如果将它们一起部署在EAR文件中,则它们是一个应用程序。可以将模块共同部署于一个EAR文件内,以便系统将它们视为同一个应用程序的各部分。
每个应用程序都接收其自己的类加载器层次结构;该层次结构的父级是系统类路径类加载器。这可以隔离应用程序,以使应用程序A无法查看应用程序B的类加载器或类。在层次结构类加载器中,不存在同级或同伴的概念。应用程序代码只能看到与该应用程序(或模块)关联的类加载器所加载的类,以及应用程序(或模块)类加载器的父类加载器所加载的类。这允许 WebLogic Server在同一个JVM中承载多个隔离的应用程序。
应用程序类加载器层次结构
部署应用程序时,WebLogic Server自动创建类加载器的层次结构。该层次结构的根类加载器将加载应用程序中的所有EJB、JAR 文件。将针对每个Web应用程序WAR文件创建子类加载器。
由于 Web 应用程序通常会调用 EJB,所以 WebLogic Server 应用程序类加载器体系结构允许 JavaServer Page (JSP) 文件和 servlet 查看其父类加载器中的 EJB 接口。这种体系结构还允许在不重新部署 EJB 层的情况下重新部署 Web 应用程序。实际上,通常会更改 JSP 文件和 servlet,而不更改 EJB 层。
下图说明此 WebLogic Server 应用程序类加载的概念。

如果您的应用程序包含使用 EJB 的 servlet 和 JSP:
将 servlet 和 JSP打包在 WAR 文件中

将 Enterprise JavaBean打包在 EJB JAR 文件中
将 WAR 和 JAR 文件打包在 EAR 文件中
部署 EAR 文件
尽管可以分别部署 WAR 和 JAR 文件,但如果将它们共同部署于 EAR 文件内,则会生成允许 servlet 和 JSP 查找 EJB 类的类加载器安排。如果分别部署 WAR 和 JAR 文件,WebLogic Server 将为它们创建同级类加载器。这表明您必须在 WAR 文件中包含 EJB Home 接口和远程接口,且 WebLogic Server 必须针对 EJB 调用使用 RMI 存根和骨架类,如同 EJB 客户端和实现类位于不同 JVM 中一样。

参考至:《叱咤风云:WebLogic企业级运维实战》戴冠平著
             http://hi.baidu.com/love200456/blog/item/9d4d70fbdc38c970024f564f.html
如有错误,欢迎指正
邮箱:czmcj@163.com

分享到:
评论

相关推荐

    weblogic weblogic weblogic

    weblogic weblogic weblogic weblogic

    weblogic监控 weblogic调优 weblogic版本区别 weblogic启动关闭脚本

    weblogic监控 weblogic调优 weblogic版本区别 weblogic启动关闭脚本

    weblogic10.3.6最新补丁 【2022-1-18日】发布的最新补丁

    weblogic10.3.6最新补丁 【2022-1-18日】发布的最新补丁 weblogic10.3.6最新补丁 【2022-1-18日】发布的最新补丁 weblogic10.3.6最新补丁 【2022-1-18日】发布的最新补丁 weblogic10.3.6最新补丁 【2022-1-18日】...

    weblogic10.03.6.0下载.txt

    开发部署中间件weblogic下载,经实践试用,没有任何问题。 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web...

    weblogic10.3.3之后版本升级至weblogic10.3.6文档.docx

    weblogic10.3.3之后升级到weblogic10.3.6详细操作文档,可以安装文档说明进行操作对weblogic低版本进行升级操作。

    Weblogic使用手册大全详解 中文版

    1.WEBLOGIC服务器管理概述 2.节点管理器 3.配置WEBLOGIC服务器与集群 4.用日志消息管理WEBLOGIC服务器 5.分发应用 6.配置WEBLOGIC服务器的WEB组件 7.代理对另一个HTTP服务器的请求 8.代理对WEBLOGIC集群的请求 9....

    WebLogic平台下部署Servlet与Jsp

    学会在WebLogic平台下部署Servlet与Jsp 二、实验环境 Windows XP 三、实验内容: 1、Weblogic Server的安装和Weblogic管理控制台 1)Weblogic安装 从服务器上下载server813_win32.exe安装 2)创建自己的工作区 ...

    weblogic监控

    •1、WebLogic服务的监控 •2、WebLogic性能优化 •3、UNIX操作命令介绍 WebLogic服务的监控 •WebLogic的控制台console对内存的监控 •Console-->server-->myserver-->右边窗口Mornitoring-->Performance WebLogic...

    Weblogic12c(12.1.3)安装和eclipse下配置weblogic并发布项目

    Weblogic12c(12.1.3)安装和eclipse下配置weblogic并发布项目

    Weblogic手册.rar

    一、Weblogic 12c 安装 3 1、Weblogic安装规划及环境检查 3 1.1、角色规划: 3 1.2、环境定义: 3 1.3、安装准备: 3 1.3.1、新建用户组weblogic 3 1.3.2、新建用户weblogic并修改用户密码 4 1.3.3、安装...

    weblogic日常巡检,问题排查

    weblogic日常巡检的方法,包括weblogic8和weblogic10,,如果weblogic中间件出现问题,也可以通过这些地方入手排查。

    weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启

    #功能:weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启 #参数:进程唯一标识码,例如“weblogic” #依赖脚本:数据库操作脚本dbExecurteSQL.sh,weblogic重启脚本$PSSC_DOMAIN/startPssc.sh...

    Weblogic 套件和Weblogic 标准版 Weblogic 企业版 功能对比

    Weblogic 套件和Weblogic 标准版 Weblogic 企业版 功能对比

    Weblogic提高并发处理性能的设置

    Weblogic提高并发处理性能的设置 对于1. 设置Weblogic线程数 2. 设置Weblogic JDBC 缓冲池 4. 修改 startWeblogic.cmd 文件

    weblogic 常见问题大集合

    weblogic10.3集群配置.doc weblogic10.3优化设置.doc weblogic 报 to many open file错误.docx weblogic.xml_部署描述符元素.docx Weblogic+10.3+集群配置手册.doc weblogic-debug模式启动.docx weblogic-debug模式...

    AIX下的Weblogic安装

    AIX下的Weblogic安装及WEBLOGIC的安装、配置和启动

    weblogic部署

    weblogic部署

    weblogic weblogic

    有关weblogic的配置和介绍 有关weblogic的配置和介绍 有关weblogic的配置和介绍 有关weblogic的配置和介绍

    Apache反向代理WebLogic

    部署应用时,考虑到WebLogic的负载负担和访问安全性,一般在WebLogic的前端架构一个反向代理服务器,将他们整合起来使用。而大多数采用的是开源的WEB服务器(Apache)。架构方式是将Apache置于前端作为WebLogic的...

    J2EE应用与BEA.WebLogic.Server第2版.pdf

    第四章 使用 WebLogic Server JSP 第五章 WebLogic Server JDBC 和 JTA 第六章 远程方法调用和分布式命名 第七章 使用 Java 消息服务进行企业消息传递 第八章 使用会话企业 JavaBean 第九章 实体 EJB 第十章 使用...

Global site tag (gtag.js) - Google Analytics