qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Kearney (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-1786) Java QMF Agent with Support for Nonmanaged objects
Date Tue, 07 Apr 2009 19:18:12 GMT

    [ 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:dev-subscribe@qpid.apache.org

View raw message