Java QMF Agent with Support for Nonmanaged objects
--------------------------------------------------
Key: QPID-1786
URL: https://issues.apache.org/jira/browse/QPID-1786
Project: Qpid
Issue Type: New Feature
Components: Ant Build System, Java Tools, Python Client
Environment: Cross Platform
Reporter: Bryan Kearney
Fix For: 0.5
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?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]