This is an implementation of the 0-8 version of AMQP for AS3.
ActionScript Java
Latest commit 471eb55 Oct 29, 2009 @peterarmstrong peterarmstrong committed with updated README
Failed to load latest commit information.
lib Removed flexunit lib Sep 2, 2008
src Fixed tabs Oct 20, 2009
build.xml Refactored RPC queueing Oct 2, 2008


AS3-AMQP Library

This library provides a high level and a low level AMQP interface for AS3.

Note that you cannot just compile this library using Flash Builder! You need to use the provided
Apache Ant build script to generate classes first.

If you're new to Ant, here's how you do this:

1. Download and install Apache Ant. (These instructions are being written using Ant version 1.7.1.)

2. Ensure that the ANT_HOME/bin directory is on your PATH.

3. Edit the file to specify the Flex SDK directory to use.

4. Run the build script by typing ant in the main directory of this project. You will see messages like this:

$ ant
Buildfile: build.xml


    [mkdir] Created dir: /some_directory_name/as3-amqp/build
     [copy] Copying 4 files to /some_directory_name/as3-amqp/build
    [javac] Compiling 5 source files to /some_directory_name/as3-amqp/build

     [java] Loading configuration file /Applications/Adobe Flash Builder Beta 2/sdks/3.4.1/frameworks/flex-config.xml
     [java] /some_directory_name/as3-amqp/bin/amqp.swc (291129 bytes)

Total time: 8 seconds

5. With this completed, you can use the project by either using the .swc file or by building the generated code in Flash Builder if you prefer.

High Level Interfaces:

TODO / Further exploration:

- The shutdown handling is probably not inline with the protocol.
  (Look into the LifecycleTest to see how the connection is being closed)

- Optimize the file size of overall library to decrease its 304kb
weight down to something reasonable. For one, I noticed the core
library depends on flexunit.swc, which weighs in at 400kb itself.
Perhaps looking at removing that dependency will cut some fat, in
particular the ArrayList class is used and should be substituted with
something already available.
|--> Update: the dependency is now removed - the build script just needs modification

- Remove the dependency on ericfeminella's HashMap

- Make the TLS bundling optional

- Add the Flexunit Test Suite to the build.xml so that it can be run from
the command line

- Consider ignoring all messages that are sent from the same application

to a subscribed topic (BasicProperties, userid argument might work)

- Remove binding for a specific routing key when unsubscribing

- Wildcard topics still require some testing

Known Issues:

- The code generator should produce logging code that can dump the contents of each method