weblogic类加载器_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3838 | 回复: 0   主题: weblogic类加载器        下一篇 
    本主题由 caohang 于 2013-3-12 15:38:51 取消精华
fangdingyu
注册用户
等级:少校
经验:1238
发帖:55
精华:25
注册:2013-3-6
状态:离线
发送短消息息给fangdingyu 加好友    发送短消息息给fangdingyu 发消息
发表于: IP:您无权察看 2013-3-12 10:59:48 | [全部帖] [楼主帖] 楼主

weblogic发布一个应用的一般目录是如下:

|----App-INF     //放在这个目录下的Lib和classes不能实例化webapp
|----lib       //放ejb和webapp公用的jar包
|-----classes      //放ejb和webapp公用的类
|----META-INF
|-----Application.xml
|----mywebapp
|-----WEB-INF
|-----lib
|-----classes  //放class类
|-----web.xml
|-----ejb.jar        //ejb的jar包


对应的各层级ClassLoader如下:

BootStrap   Classloader
|-----Extensioon   ClassLoader
|------Weblogic  Service  System   ClassLoader
|------Filtering ClassLoader
|------Application ClassLoader
|------Web Application ClassLoader
|-------Jsp ClassLoader


Application ClassLoader s用来加载EJB JARS,APP-INF/LIB,APP-INF/classes,EJB JARS中Classpath变量定制的路径下的类. 
Web Application ClassLoader 用来加载WAR,WAR中classpath变量定制的路径下的类.weblogic 下classloader用的也是委托模型,首先bootstrap先进行寻找,找不到再由ExtClassLoader寻找,然后再由ExtClassLoader寻找,然后再由AppClassLoader一级一级往下找.这样的分层有一个好处,就是可以在JSP,Servlet中可以直接访问EJB的接口.这种上层装载EJB,下层装载servlet,最下层装载jsp文件的结构,使得经常变动的jsp,servlet等可以被重新加载 而不会涉及到EJB层.在weblogic中可以通过修改配置文件来修改这种加载顺序,在weblogic.xml中可以加入一下代码段.

<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论