首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置java类加载器PARENT_LAST

如何设置java类加载器PARENT_LAST
EN

Stack Overflow用户
提问于 2014-01-29 12:10:47
回答 3查看 19.4K关注 0票数 11

我有一个需要更改类加载器的spring mvc web应用程序。我需要将类加载器更改为等于PARENT_LAST。我正在使用WAS 6.1,并且已经有了一个来自以前的web应用程序的jacl脚本,我可以复制它来完成这项工作。

在最后一个应用程序中,使用了Apache ant,它们所做的是使部署依赖于运行jacl脚本。

在我的新web应用程序中,我正在使用maven install创建一个war文件,并将该war文件部署到我的应用服务器上。

如何使用maven将类加载器设置为PARENT_LAST?我知道如何在控制台中做到这一点,但如果有一种方法可以使用脚本来做到这一点,那就太好了。

此外,此设置是否会被放置在war文件中的某个位置,以便在部署应用程序时选择该设置。这个问题是因为我不了解jacl脚本是如何工作的?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-29 20:30:20

如果只部署WAR文件本身,则无法控制这一点,但如果将WAR文件放在EAR文件中,则可以使用deployment.xml解决方案。deployment.xml文件将如下所示:

代码语言:javascript
运行
复制
<?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_1347529484613">
  <deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1347544766353" startingWeight="99" warClassLoaderPolicy="SINGLE">
    <modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1347543866613" startingWeight="1" uri="YourWebApp.war" classloaderMode="PARENT_LAST"/>
    <classloader xmi:id="Classloader_1347543866613" mode="PARENT_LAST"/>
  </deployedObject>
</appdeployment:Deployment>

完成后,您需要做的就是将文件添加到EAR项目构建的正确位置,假设您使用的是src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml,并像往常一样使用src/main/application构建EAR。

在服务器部署期间,WAS将获取此信息。

票数 18
EN

Stack Overflow用户

发布于 2014-01-29 18:01:49

在组装过程中,没有办法为PARENT_LAST预先配置WAR。Classloading策略是在部署时指定的,因此设置方式取决于应用程序的部署方式。

使用脚本更改策略非常简单。脚本使用wsadmin工具运行。下面的Jython代码片段可以完成这项工作。它可以很容易地转换为Jacl。

代码语言:javascript
运行
复制
dep = AdminConfig.getid('/Deployment:app_name/')
depObject = AdminConfig.showAttribute(dep, 'deployedObject')
classldr = AdminConfig.showAttribute(depObject, 'classloader')
AdminConfig.modify(classldr, [['mode', 'PARENT_LAST']])
AdminConfig.save()
票数 3
EN

Stack Overflow用户

发布于 2014-01-29 12:21:51

Websphere使用deployment.xml文件来控制ear文件中每个模块的部署设置。您可以通过以下路径更改deployment.xml中的类加载器设置:

/MyTestEAR/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml

我不知道如何在Maven中配置它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21421916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档