Skip to content

Conversation

@jbertram
Copy link
Contributor

@jbertram jbertram commented Oct 27, 2025

The value of jolokia.version will need to be changed once jolokia/jolokia#925 is merged and released. Leaving this as a draft until then.

This update makes a significant difference in high-load situations (e.g. thousands of addresses & queues) for the following:

  • Network transfer of JSON payload
  • CPU utilization on the broker
  • Memory consumption on the broker

I believe this will address the problems users have been reporting with web console load times and OOME on the broker.

@gemmellr gemmellr marked this pull request as draft October 27, 2025 15:25
@jbertram jbertram marked this pull request as ready for review October 28, 2025 13:59
@jbertram
Copy link
Contributor Author

Jolokia releases are done. This should be ready to merge.

pom.xml Outdated
Comment on lines 196 to 247
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-server-detector</artifactId>
<version>${jolokia.version}</version>
</dependency>

<!-- Hawtio-related Jolokia deps to ensure we're not using multiple versions of Jolokia in the WAR -->
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-json</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-server-core</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-serializer</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-jmx</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-discovery</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-history</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-jsr160</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-notif-pull</artifactId>
<version>${jolokia.version}</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-service-notif-sse</artifactId>
<version>${jolokia.version}</version>
</dependency>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With so many deps, and potential for others appearing later and then not being managed, maybe using the bom would be better?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought the same thing at first so I tried using:

            <dependency>
                <groupId>org.jolokia</groupId>
                <artifactId>jolokia-bom</artifactId>
                <version>${jolokia.version}</version>
            </dependency>

However, all of the Jolokia-related jars in the WAR aside from the one for jolokia-server-detector came from 2.3.0. Maybe I'm missing something?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ignore my previous comment. I think I've figured it out. Push incoming.

Copy link
Member

@gemmellr gemmellr Oct 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That snippet only manages the version of the artifact, if you were to have a unversioned/transitive dependency on it elsewhere in the build. You need to set the type to pom and scope to import to use the contained dependency entries as dependencyManagement, i.e to actually use it as a bom. Something like:

            <dependency>
                <groupId>org.jolokia</groupId>
                <artifactId>jolokia-bom</artifactId>
                <version>${jolokia.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, view was stale, didnt see your comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ninja'd!

@andytaylor andytaylor merged commit cdd8981 into apache:main Oct 31, 2025
2 checks passed
@GChuf
Copy link
Contributor

GChuf commented Nov 17, 2025

Testing latest console build, I can only see 1 call to jolokia that has "listCache=true" parameter - am I missing something?
The request with the listCache=true:
{"type":"list","path":"hawtio/type=security,name=RBACRegistry"}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants