qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Godfrey <rob.j.godf...@gmail.com>
Subject Re: java broker - set additional information on messages
Date Fri, 15 Jan 2016 10:19:57 GMT
The definition of immutability is here:
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format
:

    "The *bare message* consists of three sections: standard properties,
application-properties, and application-data (the body)." ... "The bare
message is immutable within the AMQP network."

Adding the client id and username of the sender to the message info through
REST should be relatively easy, although the username part is probably
currently not persisted, so will be a slightly larger change if we want to
retain the info in the face of a broker restart.  I'll have a look at this
once I've finished investigating the NullPointerException issue you raised
in your other mail.

Cheers,
Rob


On 15 January 2016 at 10:12, Julien Charon <Julien.Charon@avitech.aero>
wrote:

>   Hi Rob,
>
>
> Thank you for your feedback.
>
> Just to satisfy my curiosity: where does the AMQP 1.0 spec define
> application-properties to be immutable? Section 3.2.5 of the spec just says:
> "<type name="application-properties" class="restricted" source="map"
> provides="section">
> <descriptor name="amqp:application-properties:map"
> code="0x00000000:0x00000074"/>
> </type>
> The application-properties section is a part of the bare message used for
> structured application data. Intermediaries
> can use the data within this structure for the purposes of filtering or
> routing.
> The keys of this map are restricted to be of type string (which excludes
> the possibility of a null key) and the
> values are restricted to be of simple types only, that is, excluding map,
> list, and array types."
>
> At what level to define such configuration is a good question. In my
> opinion, that highly depends on the use case. In our case I think it would
> be sufficient per virtualhost or per queue).
>
> However, it would be really nice to such information exposed through REST,
> e.g. "give me the user name of the client that sent message with message ID
> XYZ" or "give me the queue name where message with message ID XYZ was
> published on".
>
>
> Best regards,
>
> Julien
>
> Avitech GmbH
> Engineering AxL
> Tel.: +49 (0)7541/282-177
> Fax: +49 (0)7541/282-199
> e-mail: julien.charon@avitech.aero
> ________________________________________________
> Avitech GmbH
> Principal Office: Bahnhofplatz 1 | 88045 Friedrichshafen | Germany
> Court Registration: Amtsgericht Ulm | HRB 728293
> Geschäftsführer/Managing Director: Antonio Maria Gonzalez Gorostiza
> http://avitech.aero
>
> This message may contain confidential information and is intended only for
> the individual named. If you are not the named addressee you should not
> disseminate, distribute or copy this e-mail. Please notify the sender
> immediately by e-mail if you have received this e-mail by mistake and
> delete this e-mail from your system.
> -----Ursprüngliche Nachricht-----
> Von: Rob Godfrey [mailto:rob.j.godfrey@gmail.com]
> Gesendet: Freitag, 15. Januar 2016 10:42
> An: users@qpid.apache.org
> Betreff: Re: java broker - set additional information on messages
>
> Hi Julien,
>
> Currently the Java Broker does not modify the message in any way - and by
> the definition of AMQP 1.0 it would be "illegal" to modify the
> application-properties which are defined as being immutable across the AMQP
> network.  Adding to the message-properties would be legal and seems like a
> useful function to add.  I'd have to think about how we would specify what
> properties could be added and at what level in the model such configuration
> would exist (configured per port / per virtualhost / specific user or
> group, etc).  We should also add the ability to modify delivery and message
> annotations via REST - I'll raise a JIRA for this.
>
> As to simply exposing the information through REST (JMX is being removed
> in the next release), that would be easier to add - I'll look at those
> later this morning and if it is simple I'll make a change on trunk for this.
>
> -- Rob
>
>
>
> On 15 January 2016 at 08:34, Julien Charon <Julien.Charon@avitech.aero>
> wrote:
>
> >     Hi,
> >
> >
> > Is there any possibility to configure the java broker so that it adds
> > some additional information on AMQP messages?
> > My concrete use case is that I'd need the java broker to add the
> > clientId and the userId of the client that sent/published a message,
> > e.g. the message annotations or application properties part of a
> > message. The receiver of the message can then perform some operations
> > based on that information.
> > It would also be sufficient for our needs to be able to determine that
> > information with a REST / JMX call.
> > Is there any possibility to do that?
> >
> >
> > Best regards,
> > Julien
> >
> > Avitech GmbH
> > Engineering AxL
> > Tel.: +49 (0)7541/282-177
> > Fax: +49 (0)7541/282-199
> > e-mail: julien.charon@avitech.aero<mailto:julien.charon@avitech.aero>
> > ________________________________________________
> > Avitech GmbH
> > Principal Office: Bahnhofplatz 1 | 88045 Friedrichshafen | Germany
> > Court Registration: Amtsgericht Ulm | HRB 728293
> > Geschäftsführer/Managing Director: Antonio Maria Gonzalez Gorostiza
> > http://avitech.aero<http://avitech.aero/>
> >
> > This message may contain confidential information and is intended only
> > for the individual named. If you are not the named addressee you
> > should not disseminate, distribute or copy this e-mail. Please notify
> > the sender immediately by e-mail if you have received this e-mail by
> > mistake and delete this e-mail from your system.
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message