我只是在调查这个想法,所以没有示例代码。我一直在网上挖掘,但我不确定我应该寻找什么,所以我找不到多少。所以我想我会问,看看是否有人知道a)这是可能的。 b)我应该怎么做。 (或者至少我应该学习如何去做。)
我正在使用运行J2EE的JBoss服务器在客户端上使用JSP页面构建一个Web应用程序,中间有一个tomcat Web服务器。
基本上,该应用程序包含不同的部分,这些部分将随着时间的推移而推出,客户可能会使用不同的部分组合。我能想到的最简单的部署方法是将每个部分构建到自己的jar中。然后,根据与客户相关的部分组合,在JBoss服务器上仅安装所需的jar以进行部署。
为了支持这一点,我希望客户端导航菜单只显示基于JBoss服务器上部署的内容的可用部分。我的servlet是否可以找出服务器上部署的内容?我希望解决方案尽可能“愚蠢”,即我不想告诉它要寻找什么,(除了识别我们的罐子的前缀),因为我还不知道我们可能做的一切建立。
我目前的解决方案是在数据库中有一个表来保存已安装部分的列表。但这在安装过程中需要更新脚本等,我确信我们应该只需在服务器上部署jar就可以做到这一点。
提前致谢。
答案 0 :(得分:0)
我通过为我的应用程序配置“插件目录”设置来做类似的事情。然后,它会定期扫描该目录以查找Jars。它在清单中查找特定的元数据,以确定Jar是否实际上是一个有效的插件,以及从中加载的类(该类的静态初始化程序将该插件注册到应用程序中)。
然后,您需要做的就是将一个新Jar放入该目录以添加其功能。
答案 1 :(得分:0)
您可以将此信息添加到MANIFEST.MF文件中,然后在您启动时枚举您的网络应用中的所有文件(请参阅this answer了解如何列出所有清单)。