AMA API

Summary

Embedded ActiveMQ REST API

Description

Embedded ActiveMQ REST API used to get broker's statistics, content and pieces of information

Resources

Resource Since Version Description
GET /api/ama/connections/{cid} Get connection info
GET /api/ama/consumers List all consumers
GET /api/ama/queues List queues
PUT /api/ama/queues/{id} Create queue
DELETE /api/ama/queues/{id}/ Delete queue
GET /api/ama/queues/{id}/consumers List consumers of a queue
GET /api/ama/queues/{id}/messages List messages in a queue
POST /api/ama/queues/{id}/purge Purge messages in a queue
PUT /api/ama/queues/{qid}/messages/ Send message
POST /api/ama/queues/{qid}/messages/ Send message
DELETE /api/ama/queues/{qid}/messages/{mid}/ Delete message
GET /api/ama/queues/{qid}/messages/{mid}/ Get message content
GET /api/ama/queues/{qid}/messages/{mid}/body Get message data
POST /api/ama/queues/{qid}/messages/{mid}/copy Copy message from one queue to another
POST /api/ama/queues/{qid}/messages/{mid}/move Move message from one queue to another
GET /api/ama/statistics Get statistics
GET /api/ama/status Get service status
POST /api/ama/subscribers/ Create subscriber
DELETE /api/ama/subscribers/ Delete subscriber
GET /api/ama/subscribers/ List subscriber
GET /api/ama/topics List topics
PUT /api/ama/topics/{id} Create topic
DELETE /api/ama/topics/{id}/ Delete tepic
GET /api/ama/topics/{id}/consumers List consumers of a topic
GET /api/ama/topics/{id}/messages List messages in a topic
PUT /api/ama/topics/{qid}/messages/ Send message
POST /api/ama/topics/{qid}/messages/ Send message
GET /api/ama/topics/{qid}/messages/{mid}/ Get message content
GET /api/ama/topics/{qid}/messages/{mid}/body Get message data

GET /api/ama/connections/{cid}

Summary

Get connection info

Description

Get details of active connection

Parameters

Parameter Description Data Type Location Required Multiple
cid String path Required
id Connection client id path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

ConnectionInfo

Example

GET https://localhost:8075/api/ama/connections/{cid}

Response
HTTP 1.1 200 OK

{
  "connectionId" : "ID:moo-56619-1389020980489-0:7",
  "remoteAddress" : "tcp://127.0.0.1:48635",
  "active" : true,
  "connected" : true,
  "blocked" : false,
  "slow" : false,
  "dispatchQueueSize" : 0,
  "consumers" : [ {
    "destinationType" : "Topic",
    "destinationName" : "t1",
    "clientId" : "ID:moo-56619-1389020980489-0:7",
    "connectionId" : "ID:moo-56619-1389020980489-1:7",
    "sessionId" : 2,
    "enqueues" : 1,
    "dequeues" : 0,
    "dispatched" : 1,
    "dispatchedQueueSize" : 1,
    "prefetch" : 32767,
    "maxPending" : 0,
    "exclusive" : false,
    "retroactive" : false,
    "selector" : null
  } ]
}


GET /api/ama/consumers

Summary

List all consumers

Description

List all known active consumers

Parameters

Parameter Description Data Type Location Required Multiple
advanced Advanced display mode: if value is true, remote brokers will be included in the result boolean query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Array

[ ConsumerInfo ]

Example

GET https://localhost:8075/api/ama/consumers

Response
HTTP 1.1 200 OK

{
  "consumers" : [ {
    "destinationType" : "Topic",
    "destinationName" : "t1",
    "clientId" : "ID:moo-56619-1389020980489-0:7",
    "connectionId" : "ID:moo-56619-1389020980489-1:7",
    "sessionId" : 2,
    "enqueues" : 0,
    "dequeues" : 0,
    "dispatched" : 0,
    "dispatchedQueueSize" : 0,
    "prefetch" : 32767,
    "maxPending" : 0,
    "exclusive" : false,
    "retroactive" : false,
    "selector" : null
  }, {
    "destinationType" : "Queue",
    "destinationName" : "q1",
    "clientId" : "ID:moo-56619-1389020980489-0:7",
    "connectionId" : "ID:moo-56619-1389020980489-1:7",
    "sessionId" : 3,
    "enqueues" : 1,
    "dequeues" : 0,
    "dispatched" : 1,
    "dispatchedQueueSize" : 1,
    "prefetch" : 500,
    "maxPending" : 0,
    "exclusive" : false,
    "retroactive" : false,
    "selector" : null
  } ]
}


GET /api/ama/queues

Summary

List queues

Description

Get list of availables queues

Parameters

none

Status Codes

HTTP Status Code Reason
200 OK

Returns Array

[ QueueInfo ]

Example

GET https://localhost:8075/api/ama/queues

Response
HTTP 1.1 200 OK

{
  "queues" : [ {
    "queueName" : "queue1",
    "queueType" : "Queue",
    "messageCount" : 0,
    "enqueuesCount" : 0,
    "dequeuesCount" : 0,
    "consumersCount" : 0,
    "producersCount" : 0,
    "messagesCachedCount" : 0,
    "dispatchedCount" : 0,
    "inflightCount" : 0,
    "expiredCount" : 0
  }, {
    "queueName" : "queue2",
    "queueType" : "Queue",
    "messageCount" : 0,
    "enqueuesCount" : 0,
    "dequeuesCount" : 0,
    "consumersCount" : 0,
    "producersCount" : 0,
    "messagesCachedCount" : 0,
    "dispatchedCount" : 0,
    "inflightCount" : 0,
    "expiredCount" : 0
  }, {
    "queueName" : "queue3",
    "queueType" : "Queue",
    "messageCount" : 0,
    "enqueuesCount" : 0,
    "dequeuesCount" : 0,
    "consumersCount" : 0,
    "producersCount" : 0,
    "messagesCachedCount" : 0,
    "dispatchedCount" : 0,
    "inflightCount" : 0,
    "expiredCount" : 0
  } ]
}


PUT /api/ama/queues/{id}

Summary

Create queue

Description

Create the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
id Queue id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

QueueInfo

Example

PUT https://localhost:8075/api/ama/queues/{id}

Response
HTTP 1.1 200 OK

{
  "queueName" : "queue4",
  "queueType" : "Queue",
  "messageCount" : 0,
  "enqueuesCount" : 0,
  "dequeuesCount" : 0,
  "consumersCount" : 0,
  "producersCount" : 0,
  "messagesCachedCount" : 0,
  "dispatchedCount" : 0,
  "inflightCount" : 0,
  "expiredCount" : 0
}


DELETE /api/ama/queues/{id}/

Summary

Delete queue

Description

Delete the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
id Queue id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

GET /api/ama/queues/{id}/consumers

Summary

List consumers of a queue

Description

List all consumers accessing the targeted queue

Parameters

Parameter Description Data Type Location Required Multiple
id Queue id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Array

[ ConsumerInfo ]

Example

GET https://localhost:8075/api/ama/queues/{id}/consumers

Response
HTTP 1.1 200 OK

{
  "consumers" : [ {
    "destinationType" : "Queue",
    "destinationName" : "q1",
    "clientId" : "ID:moo-56619-1389020980489-0:4",
    "connectionId" : "ID:moo-56619-1389020980489-1:4",
    "sessionId" : 1,
    "enqueues" : 1,
    "dequeues" : 0,
    "dispatched" : 1,
    "dispatchedQueueSize" : 1,
    "prefetch" : 500,
    "maxPending" : 0,
    "exclusive" : false,
    "retroactive" : false,
    "selector" : null
  } ]
}


GET /api/ama/queues/{id}/messages

Summary

List messages in a queue

Description

List all messages in the targeted queue

Parameters

Parameter Description Data Type Location Required Multiple
id Queue id String path Required
count Optional maximum number of elements to return int query Required
ago Select elements with JMSTimestamp more recent than the given period String query Required
field The field used to select elements String query Required
op The operation to apply to the selected field (eq, lt, gt, le, ge) String query Required
value The field value to check using the selected operation String query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Array

[ MessageInfo ]

Example

GET https://localhost:8075/api/ama/queues/{id}/messages

Response
HTTP 1.1 200 OK

{
  "messages" : [ {
    "messageId" : "ID:moo-36442-1389020900937-51:1:1:1:1",
    "messageType" : "text",
    "messageSize" : 1036,
    "messageTimestamp" : 1389021015375
  }, {
    "messageId" : "ID:moo-36442-1389020900937-231:1:1:1:1",
    "messageType" : "text",
    "messageSize" : 1036,
    "messageTimestamp" : 1389021688169
  } ]
}


POST /api/ama/queues/{id}/purge

Summary

Purge messages in a queue

Description

Purge all messages from targeted queue

Parameters

Parameter Description Data Type Location Required Multiple
id Queue id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

PUT /api/ama/queues/{qid}/messages/

Summary

Send message

Description

Send message in the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
type Optional type parameter, if type is set to html then text/plain response compatible with dojo/request/iframe will be returned String query Required
- Embedded ActiveMQ message BrokerMessage body Required
message Message to be sent (body of the request) BrokerMessage.class query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

MessageInfo

Example

PUT https://localhost:8075/api/ama/queues/{qid}/messages/

Request

{
  "messageType" : "TEXT",
  "jmsdeliveryMode" : "1",
  "jmsproperties" : {
    "prop1" : "prop1",
    "prop2" : "prop2"
  },
  "messageData" : "Message Body"
}

Response
HTTP 1.1 200 OK
{
  "messageId" : "ID:moo-36442-1389020900937-281:1:1:1:1",
  "messageType" : "text",
  "messageSize" : 1048,
  "messageTimestamp" : 1389021914470
}


POST /api/ama/queues/{qid}/messages/

Summary

Send message

Description

Send message in the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
type Optional type parameter, if type is set to html then text/plain response compatible with dojo/request/iframe will be returned String query Required
messageType Message type: BINARY or TEXT body.form-data:String form Required
messageData Message content body.form-data:String form Required
jmsreplyTo JMS ReplyTo body.form-data:String form Required
jmsdeliveryMode JMS DeliveryMode body.form-data:int form Required
jmscorrelationID JMS CorrelationID body.form-data:String form Required
jmsexpiration long form
jmspriority JMS Priority body.form-data:int form Required
jmsredelivered boolean form
jmstimestamp long form
jmstype JMS Type body.form-data:String form Required
jmspropertyName JMS property name List body.form-data:String form Required
jmspropertyValue JMS property value List body.form-data:String form Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

DELETE /api/ama/queues/{qid}/messages/{mid}/

Summary

Delete message

Description

Delete targeted message in the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
mid Message id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

GET /api/ama/queues/{qid}/messages/{mid}/

Summary

Get message content

Description

Read targeted message in the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
mid Message id String path Required
getContent Return message content (0: no, 1:yes, 2:truncated string if not binary content only) int query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

BrokerMessage

Example

GET https://localhost:8075/api/ama/queues/{qid}/messages/{mid}/

Response
HTTP 1.1 200 OK

{
  "messageType" : "TEXT",
  "messageSize" : 1036,
  "messageData" : "dddddd",
  "jmsreplyTo" : null,
  "jmsdeliveryMode" : 2,
  "jmscorrelationID" : null,
  "jmsexpiration" : 0,
  "jmspriority" : 4,
  "jmsredelivered" : false,
  "jmstimestamp" : 1389021015375,
  "jmstype" : null,
  "jmsmessageID" : "ID:moo-36442-1389020900937-51:1:1:1:1",
  "jmsproperties" : { }
}


GET /api/ama/queues/{qid}/messages/{mid}/body

Summary

Get message data

Description

Read data of targeted message in the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
mid Message id String path Required
User-Agent String header

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

POST /api/ama/queues/{qid}/messages/{mid}/copy

Summary

Copy message from one queue to another

Description

Copy targeted message to the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
mid Message id String path Required
destination Destination queue name String query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

POST /api/ama/queues/{qid}/messages/{mid}/move

Summary

Move message from one queue to another

Description

Move targeted message to the designated queue

Parameters

Parameter Description Data Type Location Required Multiple
qid Queue id String path Required
mid Message id String path Required
destination Destination queue name String query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

GET /api/ama/statistics

Summary

Get statistics

Description

Get all statistics for all queues and topics

Parameters

none

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

StatisticsContainer

Example

GET https://localhost:8075/api/ama/statistics

Response
HTTP 1.1 200 OK

{
  "statistics" : {
    "queue://q1" : {
      "expired" : "0",
      "dispatched" : "3",
      "inflight" : "0",
      "blockedSends" : "0",
      "enqueues" : "3",
      "consumers" : "0",
      "producers" : "0",
      "dequeues" : "0",
      "messages" : "3"
    },
    "queue://queue1" : {
      "expired" : "0",
      "dispatched" : "0",
      "inflight" : "0",
      "blockedSends" : "0",
      "enqueues" : "0",
      "consumers" : "0",
      "producers" : "0",
      "dequeues" : "0",
      "messages" : "0"
    },
    "queue://queue2" : {
      "expired" : "0",
      "dispatched" : "0",
      "inflight" : "0",
      "blockedSends" : "0",
      "enqueues" : "0",
      "consumers" : "0",
      "producers" : "0",
      "dequeues" : "0",
      "messages" : "0"
    },
    "queue://queue3" : {
      "expired" : "0",
      "dispatched" : "0",
      "inflight" : "0",
      "blockedSends" : "0",
      "enqueues" : "0",
      "consumers" : "0",
      "producers" : "0",
      "dequeues" : "0",
      "messages" : "0"
    },
    "topic://t1" : {
      "expired" : "0",
      "dispatched" : "1",
      "inflight" : "1",
      "blockedSends" : "0",
      "enqueues" : "1",
      "consumers" : "1",
      "producers" : "0",
      "dequeues" : "0",
      "messages" : "0"
    }
  }
}


GET /api/ama/status

Summary

Get service status

Description

Returns service status object, which included enabled field indicating if AMA service has been enabled or not

Parameters

none

Status Codes

HTTP Status Code Reason
200 OK

Returns Class

StatusInfo

Example

GET https://localhost:8075/api/ama/status

Response
HTTP 1.1 200 OK

{
  "statusInfo" : {
    "enabled" : true
  }
}


POST /api/ama/subscribers/

Summary

Create subscriber

Description

Create new durable subscription

Parameters

Parameter Description Data Type Location Required Multiple
- Embedded ActiveMQ subscription SubscriberInfo body Required
clientId Subscriber client id query Required
subscriberName Subscription name query Required
destination Subscription destination query Required
selector Subscription JMS selector query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Example

POST https://localhost:8075/api/ama/subscribers/

Request

{
  "destination" : "destination",
  "clientId" : "client_id",
  "subscriberName" : "subscriber_name",
  "selector" : ""
}

Response
HTTP 1.1 204 No Content
{ }


DELETE /api/ama/subscribers/

Summary

Delete subscriber

Description

Delete durable subscription

Parameters

Parameter Description Data Type Location Required Multiple
clientId Subscriber client id String query Required
subscriberName Subscription name String query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

GET /api/ama/subscribers/

Summary

List subscriber

Description

list existing durable subscriber

Parameters

none

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Array

[ SubscriberInfo ]

Example

GET https://localhost:8075/api/ama/subscribers/

Response
HTTP 1.1 200 OK

{
  "subscribers" : [ {
    "clientId" : "client_id",
    "subscriberName" : "subscriber_name",
    "destination" : "destination",
    "active" : false
  } ]
}


GET /api/ama/topics

Summary

List topics

Description

Get list of availables topics

Parameters

Parameter Description Data Type Location Required Multiple
hideAdvisory Advanced display mode: if value is true, advisory topics will be also returned boolean query Required

Status Codes

HTTP Status Code Reason
200 OK

Returns Array

[ QueueInfo ]

Example

GET https://localhost:8075/api/ama/topics

Response
HTTP 1.1 200 OK

{
  "topics" : [ {
    "queueName" : "topic2",
    "queueType" : "Topic",
    "messageCount" : 0,
    "enqueuesCount" : 0,
    "dequeuesCount" : 0,
    "consumersCount" : 0,
    "producersCount" : 0,
    "messagesCachedCount" : 0,
    "dispatchedCount" : 0,
    "inflightCount" : 0,
    "expiredCount" : 0
  }, {
    "queueName" : "topic1",
    "queueType" : "Topic",
    "messageCount" : 0,
    "enqueuesCount" : 0,
    "dequeuesCount" : 0,
    "consumersCount" : 0,
    "producersCount" : 0,
    "messagesCachedCount" : 0,
    "dispatchedCount" : 0,
    "inflightCount" : 0,
    "expiredCount" : 0
  } ]
}


PUT /api/ama/topics/{id}

Summary

Create topic

Description

Create the designated topic

Parameters

Parameter Description Data Type Location Required Multiple
id Topic id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

QueueInfo

Example

PUT https://localhost:8075/api/ama/topics/{id}

Response
HTTP 1.1 200 OK

{
  "queueName" : "topic3",
  "queueType" : "Topic",
  "messageCount" : 0,
  "enqueuesCount" : 0,
  "dequeuesCount" : 0,
  "consumersCount" : 0,
  "producersCount" : 0,
  "messagesCachedCount" : 0,
  "dispatchedCount" : 0,
  "inflightCount" : 0,
  "expiredCount" : 0
}


DELETE /api/ama/topics/{id}/

Summary

Delete tepic

Description

Delete the designated topic

Parameters

Parameter Description Data Type Location Required Multiple
id Topic id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

GET /api/ama/topics/{id}/consumers

Summary

List consumers of a topic

Description

List all consumers accessing the targeted topic

Parameters

Parameter Description Data Type Location Required Multiple
id Topic id String path Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Array

[ ConsumerInfo ]

Example

GET https://localhost:8075/api/ama/topics/{id}/consumers

Response
HTTP 1.1 200 OK

{
  "consumers" : [ {
    "destinationType" : "Topic",
    "destinationName" : "t1",
    "clientId" : "ID:moo-56619-1389020980489-0:4",
    "connectionId" : "ID:moo-56619-1389020980489-1:4",
    "sessionId" : 1,
    "enqueues" : 1,
    "dequeues" : 0,
    "dispatched" : 1,
    "dispatchedQueueSize" : 1,
    "prefetch" : 500,
    "maxPending" : 0,
    "exclusive" : false,
    "retroactive" : false,
    "selector" : null
  } ]
}


GET /api/ama/topics/{id}/messages

Summary

List messages in a topic

Description

List all messages in the targeted topic

Parameters

Parameter Description Data Type Location Required Multiple
id Topic id String path Required
count Optional maximum number of elements to return int query Required
ago Select elements with JMSTimestamp more recent than the given period String query Required
field The field used to select elements String query Required
op The operation to apply to the selected field (eq, lt, gt, le, ge) String query Required
value The field value to check using the selected operation String query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Array

[ MessageInfo ]


PUT /api/ama/topics/{qid}/messages/

Summary

Send message

Description

Send message in the designated topic

Parameters

Parameter Description Data Type Location Required Multiple
qid Topic id String path Required
type Optional type parameter, if type is set to html then text/plain response compatible with dojo/request/iframe will be returned String query Required
- Embedded ActiveMQ message BrokerMessage body Required
message Message to be sent (body of the request) BrokerMessage.class query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

MessageInfo

Example

PUT https://localhost:8075/api/ama/topics/{qid}/messages/

Request

{
  "messageType" : "TEXT",
  "jmsdeliveryMode" : "1",
  "jmsproperties" : {
    "prop1" : "prop1",
    "prop2" : "prop2"
  },
  "messageData" : "Message Body"
}

Response
HTTP 1.1 200 OK
{
  "messageId" : "ID:moo-36442-1389020900937-281:1:1:1:1",
  "messageType" : "text",
  "messageSize" : 1048,
  "messageTimestamp" : 1389021914470
}


POST /api/ama/topics/{qid}/messages/

Summary

Send message

Description

Send message in the designated topic

Parameters

Parameter Description Data Type Location Required Multiple
qid Topic id String path Required
type Optional type parameter, if type is set to html then text/plain response compatible with dojo/request/iframe will be returned String query Required
messageType Message type: BINARY or TEXT body.form-data:String form Required
messageData Message content body.form-data:String form Required
jmsreplyTo JMS ReplyTo body.form-data:String form Required
jmsdeliveryMode JMS DeliveryMode body.form-data:int form Required
jmscorrelationID JMS CorrelationID body.form-data:String form Required
jmsexpiration long form
jmspriority JMS Priority body.form-data:int form Required
jmsredelivered boolean form
jmstimestamp long form
jmstype JMS Type body.form-data:String form Required
jmspropertyName JMS property name List body.form-data:String form Required
jmspropertyValue JMS property value List body.form-data:String form Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

GET /api/ama/topics/{qid}/messages/{mid}/

Summary

Get message content

Description

Read targeted message in the designated topic

Parameters

Parameter Description Data Type Location Required Multiple
qid Topic id String path Required
mid Message id String path Required
getContent Return message content (0: no, 1:yes, 2:truncated string if not binary content only) int query Required

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response

Returns Class

BrokerMessage


GET /api/ama/topics/{qid}/messages/{mid}/body

Summary

Get message data

Description

Read data of targeted message in the designated topic

Parameters

Parameter Description Data Type Location Required Multiple
qid Topic id String path Required
mid Message id String path Required
User-Agent String header

Status Codes

HTTP Status Code Reason
200 OK
500 Error details returned in response