How to Receive a Message from an Apache ActiveMQ Topic with Haxe

W/o Durability

import com.meandowntime.hxstomp.ISTOMPClient;
import com.meandowntime.hxstomp.STOMPClient;
import com.meandowntime.hxstomp.headers.Headers;
import com.meandowntime.hxstomp.headers.SubscribeHeaders;
import com.meandowntime.hxstomp.net.NekoTCPSocket;

class ActiveMQSample {

  static function main():Void {
    var client:ISTOMPClient = new STOMPClient(new NekoTCPSocket());

    client.connect("localhost", 61613);

    client.subscribe("/topic/SampleTopic");

    client.onMessage = function(command:String, headers:Headers, body:String) {
      Sys.println(body);
    };

    client.readFrame();

    client.disconnect();
  }

}

W/ Durability

import com.meandowntime.hxstomp.ISTOMPClient;
import com.meandowntime.hxstomp.STOMPClient;
import com.meandowntime.hxstomp.headers.ConnectHeaders;
import com.meandowntime.hxstomp.headers.Headers;
import com.meandowntime.hxstomp.net.NekoTCPSocket;

class ActiveMQSample {

  static function main():Void {
    var client:ISTOMPClient = new STOMPClient(new NekoTCPSocket());

    var connectHeaders:ConnectHeaders = new ConnectHeaders();

    connectHeaders.setClientID("SampleClient");

    client.connect("localhost", 61613, connectHeaders);

    var subscribeHeaders:SubscribeHeaders = new SubscribeHeaders();

    subscribeHeaders.addHeader("activemq.subscriptionName", "SampleSubscription"); // refer to bug #1

    client.subscribe("/topic/SampleTopic", subscribeHeaders);

    client.onMessage = function(command:String, headers:Headers, body:String) {
      Sys.println(body);
    };

    client.readFrame();

    client.disconnect();
  }

}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s