pip_services3_messaging.queues.MessageQueue module

pip_services3_messaging.queues.MessageQeueue

Abstract message queue implementation.

copyright:Conceptual Vision Consulting LLC 2018-2019, see AUTHORS for more details.
license:MIT, see LICENSE for more details.
class pip_services3_messaging.queues.MessageQueue.MessageQueue(name=None)

Bases: pip_services3_commons.config.IConfigurable.IConfigurable, pip_services3_commons.refer.IReferenceable.IReferenceable, pip_services3_messaging.queues.IMessageQueue.IMessageQueue

Abstract message queue.

Abstract message queue that is used as a basis for specific message queue implementations.

### Configuration parameters ###

  • name: name of the message queue
  • connection(s):
    • discovery_key: key to retrieve parameters from discovery service
    • protocol: connection protocol like http, https, tcp, udp
    • host: host name or IP address
    • port: port number
    • uri: resource URI or connection string with all parameters in it
  • credential(s):
  • store_key: key to retrieve parameters from credential store
  • username: user name
  • password: user password
  • access_id: application access id
  • access_key: application secret key

### References ###

  • :logger::*:1.0 (optional) ILogger components to pass log messages
  • :counters::*:1.0 (optional) ICounters components to pass collected measurements
  • :discovery::*:1.0 (optional) IDiscovery components to discover connection(s)
  • :credential-store::*:1.0 (optional) ICredentialStore componetns to lookup credential(s)
begin_listen(correlation_id, receiver)

Listens for incoming messages without blocking the current thread.

Parameters:
  • correlation_id – (optional) transaction id to trace execution through call chain.
  • receiver – a receiver to receive incoming messages.
configure(config)

Configures component by passing configuration parameters.

Parameters:config – configuration parameters to be set.
get_capabilities()

Gets the queue capabilities

Returns:the queue’s capabilities object.
get_name()

Gets the queue name

Returns:the queue name.
open(correlation_id)

Opens the component.

Parameters:correlation_id – (optional) transaction id to trace execution through call chain.
send_as_object(correlation_id, message_type, message)

Sends an object into the queue. Before sending the object is converted into JSON string and wrapped in a [[MessageEnvelop]].

Parameters:
  • correlation_id – (optional) transaction id to trace execution through call chain.
  • message_type – a message type
  • message – an object value to be sent
set_references(references)

Sets references to dependent components.

Parameters:references – references to locate the component dependencies.