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:
Download and install Apache Ant. (These instructions are being written using Ant version 1.7.1.)
Ensure that the ANT_HOME/bin directory is on your PATH.
Edit the build.properties file to specify the Flex SDK directory to use.
Run the build script by typing ant in the main directory of this project. You will see messages like this:
$ ant Buildfile: build.xml
properties:
codegen: [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
lib: [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)
BUILD SUCCESSFUL Total time: 8 seconds
org.amqp.patterns.PublishClient org.amqp.patterns.SubscribeClient org.amqp.patterns.RpcClient org.amqp.patterns.RpcServer
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