J'ai un bean Spring qui est exposé via JMX en utilisant des annotations Spring, mais les noms des paramètres restent vides et les descriptions des opérations et des paramètres n'apparaissent pas. Cela peut-il être corrigé sans recourir à des fichiers de définition XML fastidieux? Je l'ai mis en œuvre de près suivant a blog postPourquoi la console JBoss JMX n'affiche-t-elle pas les descriptions des MBeans définis par Spring?
Voici mon code simplifié:
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedOperationParameter;
import org.springframework.jmx.export.annotation.ManagedOperationParameters;
import org.springframework.jmx.export.annotation.ManagedResource;
@ManagedResource(objectName="group:name=foo", description="Does a lot of fooing")
public class Foo {
@ManagedOperation(description="Changes the period of the given task and applies it immediately if the task is enabled.")
@ManagedOperationParameters({
@ManagedOperationParameter(name="index", description="the 0-based index of the fizzle"),
@ManagedOperationParameter(name="baz", description="the baz value to set on the fizzle")
})
public void changeFizzle(int index, long baz) {
// impl
}
}
La définition de contexte d'application de printemps pertinente est copiée textuellement à partir de l'article de blog lié ci-dessus.
Il fonctionne très bien pour moi. Non que cela vous aide beaucoup, mais au moins vous savez que cela peut fonctionner. Quelle version de Spring et JBoss utilisez-vous? – skaffman