[
https://issues.apache.org/jira/browse/QPID-1786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12696701#action_12696701
]
Bryan Kearney commented on QPID-1786:
-------------------------------------
I am going to update a new set of patches (*2.patch) which replaces the older
ones. The new patches provide the following enhancements:
* Events: Added the raiseEvent method for parity with the CPP agent.
* Thread Safety: You should be able to recieve messages and send events at the
same time.
* Object return types which actually contain native types: This one is a bit
tricky. I added the encoding for Objects (type 20) to also contain the real
type. The use case is if I have a paraemeter which is marked as an obejct but
is actually sent a native type (i.e. pass in a string). We could save space by
encoding somethign interesting in the classname/packagename but until then I
added the actual type.
* New annotations to say a class is an Event (@QMFEvent) and an annotation to
hide certain behaviour (@QMFHide)
> 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
> Assignee: Ted Ross
> Fix For: 0.5
>
> Attachments: javaAgent.patch, muppet.py, pythonConsole.patch
>
>
> 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]