¿Cómo debo hacer que JBoss ignore temporalmente un servicio MBean?
Pregunta
Estoy usando un solo directorio de implementación de JBoss para varios proyectos J2EE en los que estoy trabajando. (Tenga en cuenta que no estoy buscando respuestas que me indiquen que no debería hacer esto). He escrito un servicio de planificación que se encuentra en el directorio deploy
, por ejemplo, un archivo XML que contiene
<server>
...
<mbean code= ... >
<attribute ... >
...
</mbean>
</server>
Ese archivo XML solo contiene esa etiqueta mbean
en la etiqueta server
, por lo que sería suficiente hacer que JBoss ignore todo el archivo XML. Ese mbean es específico para uno de mis proyectos, por lo que estoy buscando la forma más sencilla de ocultarlo de JBoss cuando estoy trabajando en un proyecto J2EE diferente.
En este momento, lo estoy logrando comentando la etiqueta mbean
completa dentro del archivo (manualmente). Esto es feo Además de mover el archivo XML fuera del directorio deploy
, ¿hay alguna forma mejor / más limpia / recomendada de hacer esto?
Solución
La solución más limpia que se me ocurre sería crear dos configuraciones donde una contenía el mbean y la otra no. Entonces podrías simplemente:
./run.sh -c config_with_mbean
o
./run.sh -c config_without_mbean
Otros consejos
Puede configurar diferentes directorios de implementación para la misma instancia de JBoss en el archivo jboss-service.xml. Por lo general, me gusta tener mis aplicaciones aparte de la carpeta de implementación. He visto el " rm -rf * .ear " comando demasiadas veces.