Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-1786

Java QMF Agent with Support for Nonmanaged objects

    Details

      Description

      The feature (with patches) is for a Java agent which supports the encoding and decoding of complex object types. The patches provided are based off of patches provided by Ted Ross (pythonConsole.pactch) and Rafael Schloming (javaAgent.patch).

      The Java agent is an IOC friendly class which can be configured to connect to an AMQP broker. It allows for classes to be bound to QMF either by registering a managed object, or by directly registering the classes. Complex input and output types (including custom objects, lists, enumerations) are marshalled into and out of QMF Object types (type 20). Annotations can be used to control the class and package naming of the objects.

      The python console has been extended to work with the java agent. The supplied test program (muppet.py) exercises much of the functionality of the Java Agent and complex object marshalling.

      Open issues right now with this initial patch include:

      • Type Inheritance: How to show in the schema that one type extends another (See Pikelet and Crumpet)?
      • Do we allow operator overloading? (currently we do not). Right now a managed object can only have a single method with a single name
      • Enumerations: Do we should the value values in the schema?
      • Do we show in the schema that one type is unmanaged?
      • If the Qpid deamon dies, the agent does not reconnect
      • Maps: The current ftables type only passes Native QPID types. Should a new map be created which sends complex objects?

        Attachments

        1. pythonConsole.patch
          27 kB
          Bryan Kearney
        2. muppet.py
          2 kB
          Bryan Kearney
        3. javaAgent.patch
          88 kB
          Bryan Kearney
        4. cppPatch4.patch
          3 kB
          Bryan Kearney
        5. javaPatch4.patch
          112 kB
          Bryan Kearney
        6. pythonPatch4.patch
          32 kB
          Bryan Kearney
        7. muppet.py
          2 kB
          Bryan Kearney

          Activity

            People

            • Assignee:
              tedross Ted Ross
              Reporter:
              bryan.kearney Bryan Kearney
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: