我熟悉Tomcat传统的类加载系统:
Bootstrap
|
System
|
Common
/ \
Webapp1 Webapp2 ...
我正在为Tomcat 6上部署的现有Web应用程序编写测试人员Web应用程序。理想情况下,使用context-param指示要测试的应用程序的上下文路径(让我们称之为主题),然后直接加载来自主题的库。所以我希望获得的树(不是因为胆小的,你已被警告过):
Bootstrap
|
System
|
Common
/ \
Subject Webapp2 ...
|
Tester
我可能会获得相同的效果复制库,但它不是一个优雅的解决方案,看看这将要求主题和测试器已经由Tomcat已经从他们的war文件扩展。
我的问题是:假设Subject已经存在并且它独立于Tester工作,有没有办法可以通过简单地在webapp目录中添加war文件并启动Tomcat(理想情况下不修改Tomcat配置,但可以理解这可能是不可能的)?而我的后续问题是,我应该注意这种技术(安全性或其他方面)是否有任何缺点?
我很感激任何反馈,因为我正在试图决定这是否是一个可行的想法,或者我是否正在创造弗兰肯斯坦的怪物。
注意: 我应该补充说,Subject不仅仅是任何通用应用程序,而是我们公司实施的特定应用程序,因此当Subject应该独立于Tester工作时,这并不意味着如果它有助于这项工作,我无法修改主题。
答案 0 :(得分:1)
我认为你正在创造一个弗兰肯斯坦的怪物。您可以通过实现自定义类加载器来存档它,但这至少需要了解tomcat提取 subject 的位置。除此之外,当重新部署 subject 时,您很可能会遇到问题。你希望进行什么样的测试?也许对你计划做的事情有一种更简单和更健全的方法。