Robert Greig wrote:
On 15/01/07, Carl Trieloff <[EMAIL PROTECTED]> wrote:

Gordon makes a good point, additionally I expect from time to time we
will need to go ahead/ or do things to fix issues in the spec as we
develop. It is key that we bring these items to the list so that we can
discuss and bring them back to the AMQP Working Group for inclusion or
errata.

I will check which properties are set in the client. I didn't think we
set anything much beyond strings though.

The Java client was updated, for the purposes of JMS compatibility, to
use the set of field table types that I had previously submitted to
the AMQP list. Although there was I think general agreement on
extending the types (after lengthy debate with one person in
particular) the proposal "fizzled out".


Any string property set on the FieldTable class in the java client gets passed as a 'wide string' which is a new, non-standard type (the standard 'long string' value type doesn't seem to be used anymore in field table). So the strings in the client properties can't be understood by a broker that doesn't support that new type.

Perhaps as a quick fix to this particular problem we could make use of the non-standard types more explicit (e.g. setWideString() on the FieldTable class).

As I understand it, the most urgent use of these new types is in explicitly encoding the value types for all custom JMS properties. While I fully appreciate the desirability of this, I would also like to keep interoperability except where the application explicitly chooses to use non-standard extensions.

Maybe we could allow different strategies for mapping JMS message property values to AMQP field table values. For full JMS compliance it may be the non-standard approach is the most viable but many applications may be able to work with other schemes e.g. transmitting all properties as strings and converting them as and where necessary (I realise this is not fully compliant from a JMS perspective). If the strategies could be set via a system property, that would allow users to trade off between AMQP compliance and JMS compliance (we could even allow a name or value mangling hack where both could be supported albeit in a rather nasty way).

Thoughts?

Reply via email to