web-dev-qa-db-fra.com

Désactiver JMX dans une application Spring

J'essaie de désactiver jmx afin de ne pas obtenir org.springframework.beans.factory.BeanCreationException: erreur lors de la création du bean avec le nom 'mbeanExporter'anymore.

J'ai trouvé une réponse partielle disant que je devrais l'inclure dans le fichier application.properties:

spring.datasource.jmx-enabled = false

J'ai donc créé le fichier avec cette seule ligne. Mais comment puis-je m'assurer que Spring le lit avec précision? Dois-je modifier quelque chose dans spring.xml? Si oui, où?

15
OntZ

Utilisez-vous une botte à ressort? Si c'est le cas, il vous suffit de placer le fichier dans src\main\resources\application.properties par défaut

Vous pouvez consulter des exemples de projets ici https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples

3
farrellmr

Vous devez désactiver le paramètre dans votre fichier application.properties (il est automatiquement activé s'il n'est pas défini). Modifiez ou créez ce fichier: src/main/resources/config/application.properties

C'est pour un projet maven, donc si ce n'est pas dans maven, placez simplement les 'ressources' au même niveau que votre dossier Java.

Vous aurez juste besoin de cette seule ligne dans le fichier (elle peut être vide sinon):

spring.jmx.enabled=false

Si vous souhaitez ajouter d'autres paramètres, voici toutes les options: http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

28
MattC

Dans mon cas, c'était IntelliJ.

IntelliJ a un paramètre "Activer l'agent JMX" dans la configuration d'exécution. Ceci doit être décoché pour désactiver JMX.

Si cette case est cochée, cela remplacera tout paramètre que vous effectuez dans l'application via properties/yml.

3
Johnu

Vous pouvez essayer de désactiver l'autoconfiguration jmx:

@EnableAutoConfiguration(exclude={JmxAutoConfiguration.class})
0