Skip to content

Queue browse improvements in webconsole#1937

Closed
cshannon wants to merge 1 commit intoapache:mainfrom
cshannon:queue-browse-improvements
Closed

Queue browse improvements in webconsole#1937
cshannon wants to merge 1 commit intoapache:mainfrom
cshannon:queue-browse-improvements

Conversation

@cshannon
Copy link
Copy Markdown
Contributor

This change makes sure we always use the correct content type for the output based on the configured view and also escape xml content when displaying.

This change makes sure we always use the correct content type for the
output based on the configured view and also escape xml content when
displaying.

Co-authored-by: Jean-Baptiste Onofré <jbonofre@apache.org>
@cshannon cshannon requested review from jbonofre and mattrpav April 16, 2026 15:09
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
<bundle>mvn:org.apache.commons/commons-pool2/${commons-pool2-version}</bundle>
<bundle>mvn:org.apache.commons/commons-lang3/${commons-lang3-version}</bundle>
<bundle>mvn:org.apache.commons/commons-text/${commons-text-version}</bundle>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If we add these dependencies back in, they should be tied to the web console feature, and not the activemq-client

Copy link
Copy Markdown
Member

@jbonofre jbonofre Apr 16, 2026

Choose a reason for hiding this comment

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

No, because it goes in the activemq-osgi artifact, so it has to be in this feature.
This feature is core/common to all other features, including broker and webconsole.

So, adding these bundles in the webconsole feature won't work.

Copy link
Copy Markdown
Contributor

@mattrpav mattrpav Apr 16, 2026

Choose a reason for hiding this comment

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

The web console is deployed as an independent feature. Requiring these dependencies for activemq-client only users in Karaf (Camel, etc) is incorrect. Same for users using activemq-broker-noweb feature.

These dependencies should be added to the activemq-web-console feature here:

<feature name="activemq-web-console" version="${project.version}">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You don't get my point: today the activemq-osgi requires commons-text because the web-console import leak in activemq-osgi.
That's not in the webconsole war, it's in the activemq-osgi bundle.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What is the web leak in activemq-osgi?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's a different issue (unrelated to this PR).

Comment thread pom.xml
<commons-collections-version>3.2.2</commons-collections-version>
<commons-dbcp2-version>2.14.0</commons-dbcp2-version>
<commons-io-version>2.21.0</commons-io-version>
<commons-lang3-version>3.20.0</commons-lang3-version>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I really struggle with adding these dependencies back in for essentially one method. I think we'd end up being tied to their release cycle for security patches and ActiveMQ get flagged for CVE vulnerability, even if we don't use vulnerable methods.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yes, we are back to what we had before 😄 Going in circle 😄

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't have any issue with adding dependencies on things like commons libraries and they are quite useful so I disagree with that. Limiting dependencies is good but I'm not going to worry about useful ones like commons-lang3 which I found hard to believe it didn't exist.

I mostly just want to get rid of the Spring dependencies but anything Apache Commons I am fine with.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Also I will point out if we want to get rid of Spring we actually will want more of these types of libraries. We are currently using Spring utils in a lot of cases for things like HTML validation etc. We can switch to using Apache commons instead

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I believe we'll always have custom buffer, io, and text handling classes due to all the protocol and admin functionality due to the nature of operating a performant broker. Part of the reason to re-home activemq-protobuf is to be able to consolidate those classes UTF8Buffer, ASCIIBuffer, etc.. into a single activemq-io module. We have a couple sets of these classes and custom stream handlers across the project, and the hawt* dependencies. I think once those classes are consolidated to a single module, it'll be more apparent.

I'm not opposed to adding this to the web console, b/c it is expedient and the desire to overhaul/replace this broker.

However, I think adoption of wider use of third-party I/O dependencies warrants a bigger discussion when it comes to client/broker usage.

@cshannon
Copy link
Copy Markdown
Contributor Author

I'm closing this in favor of #1938

@cshannon cshannon closed this Apr 16, 2026
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.

3 participants