Skip to content

This is an implementation of the 0.9.1 version of AMQP for AS3.

License

Notifications You must be signed in to change notification settings

Playsino/as3-amqp

 
 

Repository files navigation

AS3-AMQP Library
==========================================================================

2013/0925 Updated for amqp 0.91

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 build.properties 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

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

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:
----------------------
org.amqp.patterns.PublishClient
org.amqp.patterns.SubscribeClient
org.amqp.patterns.RpcClient
org.amqp.patterns.RpcServer

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

About

This is an implementation of the 0.9.1 version of AMQP for AS3.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • ActionScript 88.9%
  • Java 11.1%