使用WebLogic获取当前EAR路径

时间:2011-02-28 09:39:11

标签: java weblogic ear

在我的源代码中,我想以编程方式获取,即部署代码的当前EAR的最后修改日期。 我正在使用Oracle WebLogic。 我怎么能这样做?

谢谢您的回答

2 个答案:

答案 0 :(得分:1)

我建议退一步看看你想解决的问题,Eric。

您想知道应用程序何时构建或您已部署的应用程序的特定版本?如果是这种情况,那么最好通过在构建过程中加入一些内容来设置它。理想情况下,用于打包应用程序的特定组件版本的清单。

如果您想知道管理员首次部署应用程序的时间,或者最近部署的应用程序变得更加棘手。依靠文件系统来解决这个问题是一个坏主意,因为你受到WebLogic Server正在做的任何事情的摆布,这无疑是不透明的。

如果您绝对需要这样做,WebLogic Server的标准分段行为会将文件的一个版本放在每个服务器实例的特定子目录中,然后很快将其拆分。 (它是域根目录下的'servers // stage'子目录($ DOMAIN_HOME)$ DOMAIN_HOME是运行时所有服务器进程的当前目录,因此相对路径应该可以正常工作。

应该为您提供在网络上部署文件的时间,但您肯定希望通过重新启动服务器实例来测试观察到的行为。

问题在于,它不会通过构建过程或部署过程中的WLST脚本为您提供任何您无法更优雅地确定的内容。

如果它是应用程序本身的最后一次部署(无论版本如何),那么应用程序生命周期事件监听器绝对是最好的方法。不幸的是,没有MBean可以为您提供单个应用程序的正常运行时间。

这里有关于生命周期监听器的很好的参考:

http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/app_events.htm#i178290

答案 1 :(得分:0)

您可以检查文件属性,也可以查看EAR内部的MANIFEST.MF内部。