8.3. 在示例 Quarkus 应用程序中启用 Jolokia Java-Agent


  1. 为确保 maven 属性可以传递给 src/main/resources/application.properties 文件,应将以下内容添加到 pom.xml 文件的 & lt;build > 部分:

    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    Copy to Clipboard
  2. 将以下 Jolokia 属性添加到文件 pom.xml<properties > 部分。它们将用于在 Quarkus 容器中配置正在运行的 jolokia java-agent (有关属性的说明,请参阅 Jolokia JVM 代理 文档):

      <properties>
      	...
    
      	<!-- The current HawtIO Jolokia Version -->
      	<jolokia-version>2.1.0</jolokia-version>
    
      	<!--
    
        ===============================================================
        === Jolokia agent configuration for the connection with HawtIO
        ===============================================================
    
    	It should use HTTPS and SSL client authentication at minimum.
    	The client principal should match those the HawtIO instance provides (the default is `hawtio-online.hawtio.svc`).
      	-->
      	<jolokia.protocol>https</jolokia.protocol>
      	<jolokia.host>*</jolokia.host>
      	<jolokia.port>8778</jolokia.port>
    	<jolokia.useSslClientAuthentication>true</jolokia.useSslClientAuthentication>
    	<jolokia.caCert>/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt</jolokia.caCert>
      	<jolokia.clientPrincipal.1>cn=hawtio-online.hawtio.svc</jolokia.clientPrincipal.1>
      	<jolokia.extendedClientCheck>true</jolokia.extendedClientCheck>
      	<jolokia.discoveryEnabled>false</jolokia.discoveryEnabled>
    
    	...
      </properties>
    Copy to Clipboard
  3. 将以下依赖项添加到文件 pom.xml 的 < dependencies > 部分:

    <!--
    	This dependency is required for enabling Camel management via JMX / HawtIO.
    -->
    <dependency>
    	<groupId>org.apache.camel.quarkus</groupId>
    	<artifactId>camel-quarkus-management</artifactId>
    </dependency>
    
    <!--
    	This dependency is optional for monitoring with HawtIO but is required for HawtIO view the Camel routes source XML.
    -->
    <dependency>
    	<groupId>org.apache.camel.quarkus</groupId>
    	<artifactId>camel-quarkus-jaxb</artifactId>
    </dependency>
    
    <!--
    	Add this optional dependency, to enable Camel plugin debugging feature.
    -->
    <dependency>
    	<groupId>org.apache.camel.quarkus</groupId>
    	<artifactId>camel-quarkus-debug</artifactId>
    </dependency>
    
    <!--
    	This dependency is required to include the Jolokia agent jvm for
    	access to JMX beans.
    -->
    <dependency>
    	<groupId>org.jolokia</groupId>
    	<artifactId>jolokia-agent-jvm</artifactId>
    	<version>${jolokia-version}</version>
    	<classifier>javaagent</classifier>
    </dependency>
    Copy to Clipboard
  4. 实施 maven 属性过滤后,${jolokia…​} 环境变量应该在构建应用程序期间从 pom.xml 传递。此属性的目的是将 JVM 选项附加到运行 jolokia java-agent 的容器的执行过程中。使用以下属性修改 src/main/resources/application.properties 文件:

    # Enable the jolokia java-agent on the quarkus application
    quarkus.openshift.env.vars.JAVA_OPTS_APPEND=-javaagent:lib/main/org.jolokia.jolokia-agent-jvm-${jolokia-version}-javaagent.jar=protocol=${jolokia.protocol}\,host=${jolokia.host}\,port=${jolokia.port}\,useSslClientAuthentication=${jolokia.useSslClientAuthentication}\,caCert=${jolokia.caCert}\,clientPrincipal.1=${jolokia.clientPrincipal.1}\,extendedClientCheck=${jolokia.extendedClientCheck}\,discoveryEnabled=${jolokia.discoveryEnabled}
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat