Konfigurieren der JMX-mit Spring Boot
Habe ich eine Spring-Integration-Anwendung mit Spring Boot. Ich würde gerne wissen, wie konfigurieren der JMX-mit Spring Boot. Ich glaube, standardmäßig JMX konfiguriert ist, wenn mit Spring-Boot-Antrieb.
Muss ich konfigurieren, alles andere, um in der Lage zu exportieren MBeans für Spring Integration?
Meisten der Beispiel-ich sehe, haben Sie die folgende Zeile in die applicationContext.xml
<context:mbean-export/>
<context:mbean-server/>
Meine Application.java Klasse sieht wie folgt aus.
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);
}
}
Hinzufügen dieser Zeile in die Konfiguration scheint nicht der export der Spring Integration mbeans
@EnableIntegrationMBeanExport(server = "mbeanServer", defaultDomain="my.company.domain")
Bin ich verweisen auf dieses video https://www.youtube.com/watch?v=TetfR7ULnA8
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie verstehen, die Spring-Integration-JMX ist standardmäßig aktiviert, wenn Sie nur
spring-integration-jmx
im classpath. Und, natürlich, wennspring.jmx.enabled = true
(Standard).Können Sie nicht overrride, dass nur die Deklaration einer mehr
@EnableIntegrationMBeanExport
, denn es basiert auf@Import
und Sie können einfach nicht überschreiben importieren von Klassen, da der (vonConfigurationClassParser
):Wenn die importierten Klassen sind schon da, Sie sind nicht überschreibbare.
Haben Sie mehrere Möglichkeiten, um Ihre Anforderungen:
Deaktivieren Standard-Spring-Boot-JMX - nur addind für die
application.properties
spring.jmx.enabled = false
weiter zu verwenden@EnableIntegrationMBeanExport
Konfigurieren
IntegrationMBeanExporter
@Bean
manuell.Geben Sie einfach Ihre
my.company.domain
Domäne in derapplication.properties
:Es ist ziemlich spät, sich zu fügen; aber neben den
endpoints.jmx.domain
ich fand es nützlich, ändern Sie diespring.jmx.default-domain
zu etwas einmalig pro AnwendungDies ist mit mehreren Instanzen von Spring Boot 1.4.1 Anwendungen laufen im Tomcat 7