如何为在Eclipse中创建的应用程序设置一个WebSphere类加载器策略为PARENT_LAST ?



我们公司目前正在使用RAD来开发我们的Java应用程序,但是我们希望通过WebSphere开发人员工具转移到Eclipse。我们的转换试验进行得非常顺利,除了我们遇到了一个类加载器策略问题,这个问题是针对最初在Eclipse中创建的新应用程序,而不是在RAD中。我们最初由RAD创建的项目在通过Eclipse发布时使用正确的类加载器策略(PARENT_LAST)进行部署,因为我们最初使用RAD中的部署描述符编辑器,它在/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml中设置了适当的类加载器策略。但是现在有了Eclipse &;在WebSphere开发工具中,我们不再有很好的部署描述符编辑器UI来为我们创建或修改这个文件(显然它没有包含在WDT插件中)。

所以,我的问题是什么是最好的方式去设置这个类加载器策略?当我们将一些新应用程序部署到本地服务器时,我们仍然需要设置PARENT_LAST类加载器策略。我们的团队对此进行了一些思考,目前我们可以看到4种选择。
  1. 每次发布后打开管理控制台并更改它。这将是一个巨大的痛苦,甚至不是一个真正的选择。
  2. 更改服务器配置文件设置,为所有应用程序使用PARENT_LAST类加载器策略。然而,这并不是我们公司所有应用程序的情况,也不会适用于所有组。
  3. 每次发布后运行jython脚本来设置类加载器策略。这比选项1稍微好一点,但也好不到哪里去。
  4. 在与RAD创建的其他应用相同的位置手动创建一个deployment.xml文件,其结构与RAD创建的deploy .xml文件相同,并根据需要对每个应用进行修改。

选项4似乎是最好的,但它仍然是一个手动过程,有些容易出错。即使我们的大多数开发人员都能掌握这种新应用程序的方法,如果这是一个简单的一键点击类型的过程,那将是最理想的。

因此,考虑到IBM从WDT插件中省略了部署描述符编辑器这一事实,似乎选项4是我们唯一的希望,但我要再问一次,当在Eclipse中创建应用程序时,是否有其他更好的方法为应用程序设置WebSphere类加载器策略为PARENT_LAST ?任何帮助都是感激的,谢谢。

嗯,Eclipse是免费的,而Rational Application Developer每年花费大约5,000美元(每个开发人员)。漂亮的部署编辑器(不是很好)。它往往包括各种不需要的东西。无论如何,谁需要在那里定义的Derby数据源呢?)是为了每年节省大量资金而必须放弃的事情之一。

我跑题。

选项(1)是完全不允许的。您不希望依赖手动步骤进行部署;您应该努力使部署尽可能自动化。

选项(2)might do。我不确定您使用的是哪一种WebSphere,但是如果您使用的是Network Deployment版本,那么您可以设计一个由多个服务器和集群组成的WebSphere拓扑。理论上,您可以提出这样一种拓扑,即PARENT_LAST应用程序在特定的服务器(或集群)上运行,而PARENT_FIRST应用程序在另一个服务器(或集群)上运行。

您可以将选项(2)与技术计划结合起来,使您的所有应用程序都与PARENT_LAST一起工作。如果您的应用程序使用WebSphere碰巧也使用的流行第三方库(出于其内部目的),那么推荐使用这种方法。例如,如果您正在使用Commons Lang,那么已经建议您切换到PARENT_LAST,因为WebSphere使用自己的Commons Lang内部副本,这可能与您的副本冲突。

选项(3)——它当然比选项(1)好,但不一定比选项(2)差,如果你能正确地使用WebSphere拓扑的话。

选项(4)更难实现,但我相信这是最好的方法:

  1. 对于每个EAR(以及EAR中存在的每个WAR)来说,这是一次设置工作。
  2. 一旦完成,部署可以很容易地自动化,因为不需要额外的步骤。
  3. 如果您正在使用本地测试环境来测试您的代码,并且您正在快速地将应用程序从您的工作区发布到您的本地测试环境中,那么这种方法是唯一的方法(除了选项(2)),它将不需要额外的手工工作。

如果都不工作…考虑每年支付5000美元(每个用户)并获得选项(5)——使用IBM的编辑器。或者,最好……请别人为你设计一个Eclipse插件。应该不会超过一到两周的时间。

嗯,两个答案都没用。

进入WAS控制台并选择您的应用程序;例子:

Enterprise Applications> my_application_ear>类加载器并更改"类加载器顺序和WAR类加载器策略"

打开eclipse中的管理控制台单击server>>您的服务器>>向下滚动并在服务器基础设施>> java进程管理下选择类加载器>>选择新的您可以在这里更改

最新更新