Comment configurer JMX avec Spring Boot
J'ai créé un Printemps de l'Intégration de l'application avec Spring Boot. Je voudrais savoir comment configurer JMX avec Spring Boot. Je crois que par défaut JMX est configuré lors de l'utilisation de Ressort de Démarrage de l'Actionneur.
Ai-je besoin de configurer quoi que ce soit d'autre pour être en mesure d'exporter des MBeans pour le Printemps de l'Intégration?
Plus de l'exemple que j'voir avoir la ligne suivante dans le applicationContext.xml
<context:mbean-export/>
<context:mbean-server/>
Mon Application.java classe ressemble à ceci.
package com.jbhunt.app.consumerappointmentintegration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ComponentScan
@EnableAutoConfiguration
@ImportResource("classpath:META-INF/spring/integration/spring-integration-context.xml")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
En ajoutant cette ligne à la configuration ne semble pas à l'exportation du Printemps de l'Intégration mbeans
@EnableIntegrationMBeanExport(server = "mbeanServer", defaultDomain="my.company.domain")
Je suis le référencement de cette vidéo https://www.youtube.com/watch?v=TetfR7ULnA8
OriginalL'auteur zachariahyoung | 2014-08-26
Vous devez vous connecter pour publier un commentaire.
Que vous comprenez le Printemps de l'Intégration JMX est activé par défaut, si vous avez juste
spring-integration-jmx
dans le classpath. Et, bien sûr, sispring.jmx.enabled = true
(par défaut).Vous ne pouvez pas overrride qui vient de se déclarer plus
@EnableIntegrationMBeanExport
, parce qu'il est basé sur@Import
et vous juste ne pouvez pas remplacer d'importer des classes à cause de (à partir deConfigurationClassParser
):Si les classes importées sont déjà là, ils ne sont pas substituables.
Vous avez plusieurs choix pour atteindre vos exigences:
Désactiver par défaut Printemps de Démarrage JMX juste addind à la
application.properties
spring.jmx.enabled = false
et continuer à utiliser@EnableIntegrationMBeanExport
Configurer
IntegrationMBeanExporter
@Bean
manuellement.Il suffit de configurer votre
my.company.domain
de domaine dans l'application.properties
:Parce que dans la plupart des cas, les gens ne veulent pas avoir de JMX dans leurs applications. Bien sûr, il pourrait être un bon point à discuter. Se sentir libre de poser un GH question: github.com/spring-projects/spring-boot/issues. Me mentionner, s'il vous plaît, là - @artembilan
Le problème a été créé github.com/spring-projects/spring-boot/issues/1440
Merci. Non, je n'ai pas l'intention, mais +1 pour ma réponse serait super 😉
Qu'entend-on exactement par "ajouter printemps-intégration-jmx pour le classpath"? Et est-ce juste pour une mesure de jmx mbean server / exportateur?
OriginalL'auteur Artem Bilan
Il est bien tard pour ajouter cette; mais en plus de la
endpoints.jmx.domain
j'ai trouvé utile de changer lespring.jmx.default-domain
à un truc unique par applicationC'est avec plusieurs instances de Printemps de Démarrage 1.4.1 applications en cours d'exécution dans Tomcat 7
OriginalL'auteur scudsucker