当前位置: 首页 > 知识库问答 >
问题:

Websphere 7 classloading委托

梁宪
2023-03-14

嗨,我正在尝试使axis2在WebSphere7上工作,我在apache axis站点中进行了经过修改的配置(更改axis2.xml“EnableChildFirstClassLoading”参数,并将包含axis2的webmodule的classloader从“Parent_Fist”更改为“Parent_Last”)

<?xml version="1.0" encoding="UTF-8"?>
<appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1335990730424">
<deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1335990730424" startingWeight="10">
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1335990730424" startingWeight="10000" uri="StrutsWeb.war"/>
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1335990730425" startingWeight="10000" uri="Axis2Web.war" classloaderMode="PARENT_LAST"/>
<classloader xmi:id="Classloader_1335990730424" mode="PARENT_FIRST"/>
</deployedObject>
</appdeployment:Deployment>

一旦我从axis2 web模块中删除了“parent_last”,struts模块就开始工作,使用“parent_last”,web服务可以完美地工作,但struts web模块不能。似乎classloader模式的改变影响了两个Web模块。

提前感谢,

共有1个答案

陆卓
2023-03-14

在WebSphere Application Server(与几乎所有应用程序服务器一样)中,有一个类加载器的层次结构:

Application server class loaders
|   Includes WAS_HOME/plugins, WAS_HOME/lib, etc.
|
+-- Application class loader
    |   Includes files in lib/ folder of the .ear
    |   Includes all JARs referenced from Class-Path in all .war
    |
    +-- StrutsWeb.war class loader
    |      Includes WEB-INF/classes and all JARs in WEB-INF/lib
    |
    +-- Axis2Web.war
           Includes WEB-INF/classes and all JARs in WEB-INF/lib

配置片段中的 元素嵌套在applicationdeployment中,因此它对应于应用程序类加载器。您可能不想修改这个元素,您可能想修改单个WAR模块的委托模式。但是,如果更改此设置有影响,那么应用程序类加载器类路径上可能有JAR,实际上应该在WAR模块的WEB-INF/LIB中。

 类似资料:
  • 主要内容:类委托,属性委托,标准委托,可观察属性 Observable,把属性储存在映射中,Not Null,局部委托属性,属性委托要求,翻译规则,提供委托委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。 以下实例中派生类 Derived 继承了接口

  • 主要内容:声明委托,实例化委托,多播委托(合并委托)C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针,是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。委托特别适用于实现事件和回调方法,所有的委托都派生自 System.Delegate 类。在实例化委托时,可以将委托的实例与具有相同返回值类型的方法相关联,这样就可以通过委托来调用方法。另外,使用委托还可以将方法作为参数传递给其他方法, 委托具有以下特点: 委托类似

  • 关于“行为委派”的良好讨论可以在 找到。

  • 委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。 以下实例中派生类 Derived 继承了接口 Base 所有方法,并且委托一个传入的 Base 类的

  • 问题内容: 我在Web应用程序中使用jQuery。在阅读其文档时,我了解了和。尽管他们解释了这两种方法,但我不了解它们之间的确切区别。也不确定哪种方法在哪种情况下是理想的。 请帮助我清楚地了解这些方法。 谢谢 问题答案: 要求您立即运行选择器,除非您使用的结果非常浪费。这里的事件处理程序是附加到的,因此必须检查所有冒泡的该类型事件。这是一个用法示例: 请注意, 即使我们不在乎 该语句,该选择符 也

  • 如果没有,是否有一种简洁的方法来设置类加载器的上下文(比方说,从特定类/库调用的所有内容都应该使用相同的类加载器)。

  • 捕获和冒泡允许我们实现一种被称为 事件委托 的强大的事件处理模式。 这个想法是,如果我们有许多以类似方式处理的元素,那么就不必为每个元素分配一个处理程序 —— 而是将单个处理程序放在它们的共同祖先上。 在处理程序中,我们获取 event.target 以查看事件实际发生的位置并进行处理。 让我们看一个示例 —— 反映中国古代哲学的 八卦图。 如下所示:在新窗口中打开 在沙箱中打开 其 HTML 如

  • 主要内容:为什么要使用事件委托,事件委托实现原理,事件委托的优点,总结利用 JS 事件冒泡动态为元素绑定事件的方法称为事件委托(Event Delegation,也称为“事件代理”),是 JavaScript 中最热门的技术之一。 事件委托就是把原本需要绑定在子元素上的事件(onclick、onkeydown 等)委托给它的父元素,让父元素来监听子元素的冒泡事件,并在子元素发生事件冒泡时找到这个子元素。 举个简单的例子,整个宿舍的同学都需要去取快递,一种方法是让他们