All REST Endpoints
Connections are necessary to send and receive messages between clients and Oracle Messaging Cloud Service. A connection is the starting point for the resources needed for direct communication between clients and the messaging platform.
A client usually uses one connection for all of its sending and receiving operations, though a client can use multiple connections if desired. Each instance of Oracle Messaging Cloud Service has a quota of concurrently used connections. When an instance is using 100% of its connection quota, additional attempts to create new connections will fail.
A new connection is used in the following situations:
- A connection is created through the REST API
- A JMS connection is created through the Java library
- A message push listener is created
- Create a Connection
- Method: putPath:
/connections/{connectionName}
- Delete a Connection
- Method: deletePath:
/connections/{connectionName}
- Update Connection Properties
- Method: postPath:
/connections/{connectionName}
Returns information about one or more durable subscriptions depending on the request parameters supplied.
- List Durable Subscriptions
- Method: getPath:
/subscriptions
Message Push Listeners (MPLs) are user-created resources that reside within an Oracle Messaging Cloud Service instance. An MPL asynchronously receives messages from a queue, topic, or durable subscription and either sends the messages to another destination or pushes them to a user-defined URL as an HTTP request.
- Create a Listener
- Method: putPath:
/listeners/{listenerName}
- Delete a Listener
- Method: deletePath:
/listeners/{listenerName}
- Get Listener Properties
- Method: getPath:
/listeners/{listenerName}
- List Listeners
- Method: getPath:
/listeners
A messaging context is a container of ephemeral objects like connections, sessions, producers, consumers, temporary destinations, and queue browsers.
A messaging context is identified by the JSESSIONID cookie. The only API specific to a messaging context is the API for getting and setting the maximum inactive interval (MII), which controls the expiration time of the messaging context. When the messaging context expires, all ephemeral objects contained in it are closed and deleted, except temporary destinations created in another messaging context. A temporary destination is closed only if the connection by which the temporary destination was created is closed.
Creation of a messaging context is an implicit operation. It is created by the first access to the Oracle Messaging Cloud Service that passes authentication.
- Get Maximum Inactive Interval
- Method: getPath:
/maxInactiveInterval
- Set Maximum Inactive Interval
- Method: postPath:
/maxInactiveInterval
Queue browsers are used to look at messages on a queue without removing them. A queue browser is created from a session.
A queue browser may be used to look at all the messages in a queue, or only those that match a message selector. Note that if messages are sent to a queue after a browser on that queue is created, those messages may not be visible via the queue browser.
- Browse Messages
- Method: postPath:
/queueBrowsers/{browserName}
- Create a Queue Browser
- Method: putPath:
/queueBrowsers/{browserName}
- Delete a Queue Browser
- Method: deletePath:
/queueBrowsers/{browserName}
- Get Queue Browser Properties
- Method: getPath:
/queueBrowsers/{browserName}
- Create a Queue
- Method: putPath:
/queues/{queueName}
- Delete a Queue
- Method: deletePath:
/queues/{queueName}
- Get Queue Properties
- Method: getPath:
/queues/{queueName}
- List Queues
- Method: getPath:
/queues
Clients receive messages by using a session to create a consumer. A session can have multiple consumers. Consumers persist until they are closed, or the session in which they were created is closed.
A consumer defines how messages are received from the service. A consumer must specify the destination from which messages are received.
Optionally, consumers can specify a subset of messages to be received by giving a selector. For the syntax of selectors, see the Message Selectors section of the Java API reference for the javax.jms.Message class at the URL: javax.jms.Message
class.
- Create a Consumer
- Method: putPath:
/consumers/{consumerName}
- Delete a Consumer
- Method: deletePath:
/consumers/{consumerName}
- Receive a Message
- Method: postPath:
/consumers/{consumerName}/messages
Clients send messages by using a session to create a producer. A session can have multiple producers. Producers persist until they are closed, or the session in which they were created is closed.
A producer defines the default characteristics of messages sent through the producer. A producer can specify the destination to which all messages are sent, how sent messages should be stored in the service, and how long sent messages are stored in the service before they expire.
- Create a Producer
- Method: putPath:
/producers/{producerName}
- Delete a Producer
- Method: deletePath:
/producers/{producerName}
- Send a Message
- Method: postPath:
/producers/{producerName}/messages
- Set Properties of a Producer
- Method: postPath:
/producers/{producerName}
A session must be created before messages can be sent or received. Sessions allow message sends and receives to be grouped into atomic units, undone, or re-done.
A single connection can have multiple sessions. Sessions persist until they are closed, or until the connection from which they were created is closed.
- Acknowledge, Commit, Rollback, or Recover a Session
- Method: postPath:
/sessions/{sessionName}/state
- Create a Session
- Method: putPath:
/sessions/{sessionName}
- Delete a Durable Subscription
- Method: deletePath:
/sessions/{sessionName}/subscriptions/{subscriptionName}
- Delete a Session
- Method: deletePath:
/sessions/{sessionName}
A temporary queue is a queue created for the duration of a connection. Messages may only be consumed from a temporary queue through the connection through which it was created.
- Create a Temporary Queue
- Method: postPath:
/temporaryQueues
- Delete a Temporary Queue
- Method: deletePath:
/temporaryQueues/{queueName}
- List Temporary Queues
- Method: getPath:
/temporaryQueues
- Retrieve Properties of a Temporary Queue
- Method: getPath:
/temporaryQueues/{queueName}
A temporary topic is a topic created for the duration of a connection. Messages may only be consumed from a temporary topic through the connection through which it was created.
- Create a Temporary Topic
- Method: postPath:
/temporaryTopics
- Delete a Temporary Topic
- Method: deletePath:
/temporaryTopics/{topicName}
- List Temporary Topics
- Method: getPath:
/temporaryTopics
- Retrieve Properties of a Temporary Topic
- Method: getPath:
/temporaryTopics/{topicName}
- Create a Topic
- Method: putPath:
/topics/{topicName}
- Delete a Topic
- Method: deletePath:
/topics/{topicName}
- Get Topic Properties
- Method: getPath:
/topics/{topicName}
- List Topics
- Method: getPath:
/topics
- Retrieve the Topology for all Messaging Contexts
- Method: getPath:
/messagingcontexts
- Retrieve the Topology of a specific Messaging Context.
- Method: getPath:
/messagingcontexts/{messagingContextID}
- An XML or JSON representation of resource usage and limits
- Method: getPath:
/usage