我该如何让JBoss暂时忽略MBean服务?

时间:2009-09-10 16:24:28

标签: java-ee jboss jmx

我正在为我正在使用的多个J2EE项目使用单个JBoss部署目录。 (注意,我不是在寻找能够告诉我不应该这样做的答案。)我编写了一个调度程序服务mbean,它位于deploy目录中,例如,包含

<server>
    ...
    <mbean code= ... >
        <attribute ... >
        ...
    </mbean>
</server>

该XML文件仅在mbean标记中包含一个server标记,因此使JBoss忽略整个XML文件就足够了。那个mbean特定于我的一个项目,所以当我在开发一个不同的J2EE项目时,我正在寻找从JBoss中隐藏它的最简单的方法。

现在,我通过在文件内部(手动)注释掉整个mbean标记来完成此操作。这很难看。除了将XML文件移出deploy目录之外,还有更好/更清洁/推荐的方法吗?

2 个答案:

答案 0 :(得分:0)

我能想到的最干净的解决方案是创建两个配置,其中一个包含mbean而另一个没有。然后你可以:

./ run.sh -c config_with_mbean

./ run.sh -c config_without_mbean

JBoss Documentation on alternative configurations.

答案 1 :(得分:0)

您可以在jboss-service.xml文件中为同一JBoss实例配置不同的部署目录。我通常喜欢将我的应用程序与deploy文件夹分开。我已经多次看过“rm -rf * .ear”命令了。