JBoss自动重新部署

时间:2010-09-29 14:48:31

标签: java jboss

据我了解,JBoss *监视/deploy中的各种文件类型,并在文件更改时执行某些操作。例如,JBoss将在last-modified时间发生变化时重新部署EAR。

因此,我可以使用一些非常讨厌的代码来重新部署EAR,如下所示:

URL url = this.getClass().getClassLoader().getResource("../RavenWeb.ear");
String path = url.getPath();

File ear = new File(path);
ear.setLastModified(System.currentTimeMillis());

但我真正想要做的只是让JBoss在外部配置文件发生变化时重新部署webapp。假设配置文件位于C:/foo/bar.properties

是否有MBean或其他方式完成此操作会导致我无法mauled by velociraptors


*我正在使用JBoss 5.1.0,如果重要的话。

2 个答案:

答案 0 :(得分:0)

我认为你最好的办法是拥有一个MBean,只要你调用一个函数,它就会重新加载你的配置文件。如果您不想自动执行此操作,您还可以考虑为您配置MBean 处理配置文件。这样,您只需更新MBean属性,而不是更改配置文件。

答案 1 :(得分:0)

我复制了Log4JService实现并将其放在.sar。

它只是简单地轮询配置文件,解析它并将一个Configuration对象放在JNDI中,以便我可以在我的应用程序中检索它。这样您就不必重新部署整个应用程序,并且可以在应用程序中使用新配​​置。

如果您不得不做其他事情,而不仅仅是重新加载应用程序,您可以在此服务中执行此操作。