8.3. Quarkus アプリケーション例での Jolokia Java エージェントの有効化
Maven プロパティーが
src/main/resources/application.propertiesファイルに渡されるようにするには、ファイルpom.xmlの<build>セクションに以下を追加する必要があります。<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources>pom.xmlファイルの<properties>セクションに次の Jolokia プロパティーを追加します。これらは、Quarkus コンテナーで実行中の jolokia java-agent を設定するために使用されます (プロパティーの説明は、Jolokia JVM エージェント のドキュメントを参照してください)。<properties> ... <!-- The current HawtIO Jolokia Version --> <jolokia-version>2.2.9.redhat-00001</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>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>Maven プロパティーフィルタリングが実装されている場合、アプリケーションのビルド中に
${jolokia…}環境変数を pom.xml から渡す必要があります。このプロパティーの目的は、jolokia java-agent を実行するコンテナーの実行プロセスに JVM オプションを追加することです。次のプロパティーを使用して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}