Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-20

XmlMessage type support

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Resolved
    • Minor
    • Resolution: Won't Fix
    • None
    • 5.1.0
    • None
    • None

    Description

      A real common use case I see is financial systems, sending around lots of XSD documents over some protocol (HTTP / JMS) - if both ends know the schema formats - then sending / receiving an efficient binary XSD format (using longs / ints / doubles for numeric / date types on DataInput/Output) would totally rock - to the end user it'd look like XML beans or text or DOM but on the wire could be super fast & no xml parsing.

      e.g. if both sides of the wire were using Java & were using XMLBeans on both sides as a bean / DOM / XPath / XQuery API, then we could take an xmlbeans schema & lazily bytecode generate a marshaller per schema to use an efficient wire format, assuming the other end knows the schema. Then the message on the wire looks like

      http://some.repository.com/someschema/version/1.2.3
      [lots of bytes]

      so the reader would load the XSD schema from the given universal URI, if its not created an xmlbeans schema & marshaller for it yet, do so, then it can decipher the bytes.

      Then in those times where you're sending/receiving 100K messages per hour of the same schema, you don't have all that XML parsing to deal with - it'd use a super fast ASM.1 style binary format which to the application programmer could be marshalled into a DOM / bean / XPath / XQuery model, yet have a super-fast wire format.

      We could expose these types of messages to the user via a special Destination which would accept either Text messages or Object messages - if the ObjectMessage contains an xmlbean then it'd use the super-efficient binary serialization on the wire & presenting it to the user as either an ObjectMessage, TextMessage or maybe a new XmlMessage (or all 3)

      Attachments

        Activity

          People

            Unassigned Unassigned
            jstrachan James Strachan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: