You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "Dondorp, Erwin" <er...@cgi.com> on 2021/09/09 11:59:14 UTC

extending the message viewer in Artemis

Hello,

I'm looking into the Artemis message viewer (part of Browse Queue). 2 things that bother me a bit on this.
Before making stupid "wish" requests, or working on it myself, I mention them here for some first reactions.
Note that we support multiple protocols to support various client-types.

1)
the message viewer implicitly converts a messages to a CORE message while viewing it, even when the message arrived as AMQP (and will be consumed as AMQP).
o.a., this introduces a few key fields that were not part of the original message, and will not be part of the real outgoing message, thus leading to confusion.
Also, some specific AMQP elements such as "annotations" are not visible.
How difficult would it be to show the message structure more in a form like their original protocol?

2)
The viewer knows about a few message types (in browse.js:createBodyText).
But the amqp payload types integer/list/dict/etc are all shown as bytes+text instead of a more polite representation.
How difficult would it be to add an AMQP-body decoder to show the full message structure?
This may of course depend on the way #1 is handled (or not).

thx!
Erwin

Re: extending the message viewer in Artemis

Posted by Justin Bertram <jb...@apache.org>.
> How difficult would it be to show the message structure more in a form
like their original protocol?

I don't think this would be particularly difficult. Check out
o.a.a.a.c.m.i.o.OpenTypeSupport#convert [1]. That's where the message
reference is converted to core. You could change that method to deal with
AMQP messages specifically.

> How difficult would it be to add an AMQP-body decoder to show the full
message structure?

I don't think this would be very difficult either. You'd just need to parse
the returned data and display it in a structured way that makes sense for
the particular type.


Justin

[1]
https://github.com/apache/activemq-artemis/blob/main/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/openmbean/OpenTypeSupport.java#L50

On Thu, Sep 9, 2021 at 6:59 AM Dondorp, Erwin <er...@cgi.com> wrote:

> Hello,
>
> I'm looking into the Artemis message viewer (part of Browse Queue). 2
> things that bother me a bit on this.
> Before making stupid "wish" requests, or working on it myself, I mention
> them here for some first reactions.
> Note that we support multiple protocols to support various client-types.
>
> 1)
> the message viewer implicitly converts a messages to a CORE message while
> viewing it, even when the message arrived as AMQP (and will be consumed as
> AMQP).
> o.a., this introduces a few key fields that were not part of the original
> message, and will not be part of the real outgoing message, thus leading to
> confusion.
> Also, some specific AMQP elements such as "annotations" are not visible.
> How difficult would it be to show the message structure more in a form
> like their original protocol?
>
> 2)
> The viewer knows about a few message types (in browse.js:createBodyText).
> But the amqp payload types integer/list/dict/etc are all shown as
> bytes+text instead of a more polite representation.
> How difficult would it be to add an AMQP-body decoder to show the full
> message structure?
> This may of course depend on the way #1 is handled (or not).
>
> thx!
> Erwin
>