solace.messaging package
Solace PubSub+ Messaging API for Python
This package contains a full-featured Python API for developing Python applications. The API follows
the builder pattern. Everything begins with a MessagingService.builder()
call that returns a new
MessagingServiceClientBuilder
object. When you use a MessagingService
instance, applications can:
configure the
solace.messaging.messaging_service.MessagingService
objectcreate a
solace.messaging.messaging_service.MessagingService
object
The Messaging Service
in turn can be used to:
connect the
solace.messaging.messaging_service.MessagingService
create a
solace.messaging.builder.message_publisher_builder.MessagePublisherBuilder
: for buildingMessagePublishers
create a
solace.messaging.builder.message_receiver_builder.MessageReceiverBuilder
for buildingMessageReceivers
create a
solace.messaging.publisher.outbound_message.OutboundMessageBuilder
for buildingMessages
to publish
- solace.messaging.builder package
- solace.messaging.builder.direct_message_publisher_builder module
- solace.messaging.builder.direct_message_receiver_builder module
DirectMessageReceiverBuilder
DirectMessageReceiverBuilder.build()
DirectMessageReceiverBuilder.from_properties()
DirectMessageReceiverBuilder.on_back_pressure_drop_latest()
DirectMessageReceiverBuilder.on_back_pressure_drop_oldest()
DirectMessageReceiverBuilder.on_back_pressure_elastic()
DirectMessageReceiverBuilder.with_subscriptions()
- solace.messaging.builder.message_publisher_builder module
- solace.messaging.builder.message_receiver_builder module
- solace.messaging.builder.persistent_message_publisher_builder module
- solace.messaging.builder.persistent_message_receiver_builder module
PersistentMessageReceiverBuilder
PersistentMessageReceiverBuilder.build()
PersistentMessageReceiverBuilder.from_properties()
PersistentMessageReceiverBuilder.with_activation_passivation_support()
PersistentMessageReceiverBuilder.with_message_auto_acknowledgement()
PersistentMessageReceiverBuilder.with_message_client_acknowledgement()
PersistentMessageReceiverBuilder.with_message_replay()
PersistentMessageReceiverBuilder.with_message_selector()
PersistentMessageReceiverBuilder.with_missing_resources_creation_strategy()
PersistentMessageReceiverBuilder.with_required_message_outcome_support()
PersistentMessageReceiverBuilder.with_subscriptions()
- solace.messaging.builder.request_reply_message_publisher_builder module
- solace.messaging.builder.request_reply_message_receiver_builder module
- solace.messaging.builder.transactional_message_publisher_builder module
- solace.messaging.builder.transactional_message_receiver_builder module
TransactionalMessageReceiverBuilder
TransactionalMessageReceiverBuilder.build()
TransactionalMessageReceiverBuilder.from_properties()
TransactionalMessageReceiverBuilder.with_activation_passivation_support()
TransactionalMessageReceiverBuilder.with_message_replay()
TransactionalMessageReceiverBuilder.with_message_selector()
TransactionalMessageReceiverBuilder.with_missing_resources_creation_strategy()
TransactionalMessageReceiverBuilder.with_subscriptions()
- solace.messaging.config package
- solace.messaging.config.solace_constants package
- solace.messaging.config.solace_constants.authentication_constants module
- solace.messaging.config.solace_constants.message_user_property_constants module
- solace.messaging.config.solace_constants.publisher_constants module
- solace.messaging.config.solace_constants.receiver_constants module
PERSISTENT_RECEIVER_AUTO_ACK
PERSISTENT_RECEIVER_CLIENT_ACK
PERSISTENT_RECEIVER_CREATE_ON_START_MISSING_RESOURCES
PERSISTENT_RECEIVER_DO_NOT_CREATE_MISSING_RESOURCES
PERSISTENT_RECEIVER_OUTCOME_ACCEPTED
PERSISTENT_RECEIVER_OUTCOME_FAILED
PERSISTENT_RECEIVER_OUTCOME_REJECTED
PERSISTENT_REPLAY_ALL
PERSISTENT_REPLAY_ID_BASED
PERSISTENT_REPLAY_TIME_BASED
RECEIVER_BACK_PRESSURE_STRATEGY_DROP_LATEST
RECEIVER_BACK_PRESSURE_STRATEGY_DROP_OLDEST
RECEIVER_BACK_PRESSURE_STRATEGY_ELASTIC
- solace.messaging.config.solace_properties package
- solace.messaging.config.solace_properties.authentication_properties module
KRB_SERVICE_NAME
SCHEME
SCHEME_BASIC_PASSWORD
SCHEME_BASIC_USER_NAME
SCHEME_CLIENT_CERT_USER_NAME
SCHEME_CLIENT_PRIVATE_KEY_FILE_PASSWORD
SCHEME_KERBEROS_USER_NAME
SCHEME_OAUTH2_ACCESS_TOKEN
SCHEME_OAUTH2_ISSUER_IDENTIFIER
SCHEME_OAUTH2_OIDC_ID_TOKEN
SCHEME_SSL_CLIENT_CERT_FILE
SCHEME_SSL_CLIENT_PRIVATE_KEY_FILE
- solace.messaging.config.solace_properties.client_properties module
- solace.messaging.config.solace_properties.message_properties module
- solace.messaging.config.solace_properties.publisher_properties module
- solace.messaging.config.solace_properties.receiver_properties module
DIRECT_BACK_PRESSURE_BUFFER_CAPACITY
DIRECT_BACK_PRESSURE_STRATEGY
PERSISTENT_MESSAGE_ACK_STRATEGY
PERSISTENT_MESSAGE_REPLAY_STRATEGY
PERSISTENT_MESSAGE_REPLAY_STRATEGY_ID_BASED_REPLICATION_GROUP_MESSAGE_ID
PERSISTENT_MESSAGE_REPLAY_STRATEGY_TIME_BASED_START_TIME
PERSISTENT_MESSAGE_SELECTOR_QUERY
PERSISTENT_MISSING_RESOURCE_CREATION_STRATEGY
PERSISTENT_NO_LOCAL_PUBLISHED_MESSAGES
PERSISTENT_REQUIRED_MESSAGE_OUTCOME_SUPPORT
- solace.messaging.config.solace_properties.service_properties module
- solace.messaging.config.solace_properties.transactional_service_properties module
- solace.messaging.config.solace_properties.transport_layer_properties module
- solace.messaging.config.solace_properties.transport_layer_security_properties module
- solace.messaging.config.solace_properties.authentication_properties module
- solace.messaging.config.authentication_strategy module
- solace.messaging.config.direct_receiver_back_pressure_configuration module
- solace.messaging.config.message_acknowledgement_configuration module
- solace.messaging.config.message_auto_acknowledgement_configuration module
- solace.messaging.config.message_replay_configuration module
- solace.messaging.config.missing_resources_creation_configuration module
- solace.messaging.config.property_based_configuration module
- solace.messaging.config.publisher_back_pressure_configuration module
- solace.messaging.config.receiver_activation_passivation_configuration module
- solace.messaging.config.replay_strategy module
- solace.messaging.config.retry_strategy module
- solace.messaging.config.sub_code module
SolClientSubCode
SolClientSubCode.SOLCLIENT_SUBCODE_AD_APP_ACK_FAILED_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_ASSURED_MESSAGING_NOT_ESTABLISHED
SolClientSubCode.SOLCLIENT_SUBCODE_ASSURED_MESSAGING_STATE_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_BASIC_AUTHENTICATION_IS_SHUTDOWN
SolClientSubCode.SOLCLIENT_SUBCODE_BROWSING_NOT_SUPPORTED_ON_PARTITIONED_QUEUE
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_ALREADY_IN_PROGRESS
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_ERROR_RESPONSE
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_INVALID_SESSION
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_LIVEDATA_FULFILL
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_NO_DATA
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_REQUEST_CANCELLED
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_SUSPECT_DATA
SolClientSubCode.SOLCLIENT_SUBCODE_CACHE_TIMEOUT
SolClientSubCode.SOLCLIENT_SUBCODE_CANNOT_BIND_TO_QUEUE
SolClientSubCode.SOLCLIENT_SUBCODE_CANNOT_BLOCK_IN_CONTEXT
SolClientSubCode.SOLCLIENT_SUBCODE_CANNOT_MODIFY_WHILE_NOT_IDLE
SolClientSubCode.SOLCLIENT_SUBCODE_CERTIFICATE_DATE_INVALID
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_ACL_DENIED
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_AUTHENTICATION_IS_SHUTDOWN
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_DATE_INVALID
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_DELETE_IN_PROGRESS
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_BROWSER_FLOW_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_INACTIVE_FLOW_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_NON_EXCLUSIVE_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_NAME_ALREADY_IN_USE
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_NAME_INVALID
SolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_USERNAME_IS_SHUTDOWN
SolClientSubCode.SOLCLIENT_SUBCODE_COMMIT_OR_ROLLBACK_IN_PROGRESS
SolClientSubCode.SOLCLIENT_SUBCODE_COMMIT_STATUS_UNKNOWN
SolClientSubCode.SOLCLIENT_SUBCODE_COMMUNICATION_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_COMPRESSED_SSL_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_CONTAINER_BUSY
SolClientSubCode.SOLCLIENT_SUBCODE_CONTROL_OTHER
SolClientSubCode.SOLCLIENT_SUBCODE_CUT_THROUGH_ALREADY_BOUND
SolClientSubCode.SOLCLIENT_SUBCODE_CUT_THROUGH_INCOMPATIBLE_WITH_SESSION
SolClientSubCode.SOLCLIENT_SUBCODE_CUT_THROUGH_UNSUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_DATA_OTHER
SolClientSubCode.SOLCLIENT_SUBCODE_DBLOCK_ALREADY_EXISTS
SolClientSubCode.SOLCLIENT_SUBCODE_DELIVERY_COUNT_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_DELIVERY_MODE_UNSUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_DELIVER_TO_ONE_INVALID
SolClientSubCode.SOLCLIENT_SUBCODE_DYNAMIC_CLIENTS_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_ENDPOINT_ALREADY_EXISTS
SolClientSubCode.SOLCLIENT_SUBCODE_ENDPOINT_MODIFIED
SolClientSubCode.SOLCLIENT_SUBCODE_ENDPOINT_PROPERTY_MISMATCH
SolClientSubCode.SOLCLIENT_SUBCODE_FAILED_LOADING_CERTIFICATE_AND_KEY
SolClientSubCode.SOLCLIENT_SUBCODE_FAILED_LOADING_TRUSTSTORE
SolClientSubCode.SOLCLIENT_SUBCODE_FLOW_ACTIVE_FLOW_INDICATION_UNSUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_FLOW_UNBOUND
SolClientSubCode.SOLCLIENT_SUBCODE_INIT_NOT_CALLED
SolClientSubCode.SOLCLIENT_SUBCODE_INSUFFICIENT_SPACE
SolClientSubCode.SOLCLIENT_SUBCODE_INTERNAL_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_CONNECTION_OWNER
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_DATA_CONVERSION
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_DURABILITY
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_FLOW_OPERATION
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_SELECTOR
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_SESSION_OPERATION
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_SMF_MESSAGE
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_DTE
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_TE
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TOPIC_SYNTAX
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TRANSACTED_SESSION_ID
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TRANSACTION_ID
SolClientSubCode.SOLCLIENT_SUBCODE_INVALID_VIRTUAL_ADDRESS
SolClientSubCode.SOLCLIENT_SUBCODE_KEEP_ALIVE_FAILURE
SolClientSubCode.SOLCLIENT_SUBCODE_KERBEROS_AUTHENTICATION_IS_SHUTDOWN
SolClientSubCode.SOLCLIENT_SUBCODE_LIBRARY_NOT_LOADED
SolClientSubCode.SOLCLIENT_SUBCODE_LOGIN_FAILURE
SolClientSubCode.SOLCLIENT_SUBCODE_LOG_FILE_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_LOW_PRIORITY_MSG_CONGESTION
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_DTE
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_QUEUE
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_TE
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_MESSAGE_USAGE_EXCEEDED
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_TOTAL_MSGSIZE_EXCEEDED
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_TRANSACTED_SESSIONS_EXCEEDED
SolClientSubCode.SOLCLIENT_SUBCODE_MAX_TRANSACTIONS_EXCEEDED
SolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_CONSUME_FAILURE
SolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_ID_NOT_COMPARABLE
SolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_PUBLISH_FAILURE
SolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_TOO_LARGE
SolClientSubCode.SOLCLIENT_SUBCODE_MISMATCHED_ENDPOINT_ERROR_ID
SolClientSubCode.SOLCLIENT_SUBCODE_MISSING_REPLY_TO
SolClientSubCode.SOLCLIENT_SUBCODE_MSG_VPN_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_MSG_VPN_UNAVAILABLE
SolClientSubCode.SOLCLIENT_SUBCODE_NO_LOCAL_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_NO_MORE_NON_DURABLE_QUEUE_OR_TE
SolClientSubCode.SOLCLIENT_SUBCODE_NO_STRUCTURED_DATA
SolClientSubCode.SOLCLIENT_SUBCODE_NO_SUBSCRIPTION_MATCH
SolClientSubCode.SOLCLIENT_SUBCODE_NO_TRANSACTION_STARTED
SolClientSubCode.SOLCLIENT_SUBCODE_OBJECT_DESTROYED
SolClientSubCode.SOLCLIENT_SUBCODE_OK
SolClientSubCode.SOLCLIENT_SUBCODE_OS_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_OUT_OF_MEMORY
SolClientSubCode.SOLCLIENT_SUBCODE_OUT_OF_REPLAY_RESOURCES
SolClientSubCode.SOLCLIENT_SUBCODE_OUT_OF_RESOURCES
SolClientSubCode.SOLCLIENT_SUBCODE_PARAM_CONFLICT
SolClientSubCode.SOLCLIENT_SUBCODE_PARAM_NULL_PTR
SolClientSubCode.SOLCLIENT_SUBCODE_PARAM_OUT_OF_RANGE
SolClientSubCode.SOLCLIENT_SUBCODE_PERMISSION_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_PROTOCOL_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_PROXY_AUTH_FAILURE
SolClientSubCode.SOLCLIENT_SUBCODE_PROXY_AUTH_REQUIRED
SolClientSubCode.SOLCLIENT_SUBCODE_PUBLISHER_NOT_CREATED
SolClientSubCode.SOLCLIENT_SUBCODE_PUBLISHER_NOT_ESTABLISHED
SolClientSubCode.SOLCLIENT_SUBCODE_PUBLISH_ACL_DENIED
SolClientSubCode.SOLCLIENT_SUBCODE_QUEUENAME_INVALID_MODE
SolClientSubCode.SOLCLIENT_SUBCODE_QUEUENAME_TOO_LARGE
SolClientSubCode.SOLCLIENT_SUBCODE_QUEUENAME_TOPIC_CONFLICT
SolClientSubCode.SOLCLIENT_SUBCODE_QUEUE_NOT_FOUND
SolClientSubCode.SOLCLIENT_SUBCODE_QUEUE_SHUTDOWN
SolClientSubCode.SOLCLIENT_SUBCODE_QUOTA_OUT_OF_RANGE
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_ANONYMOUS_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_CANCELLED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_DISABLED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_FAILED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_LOG_MODIFIED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_MESSAGE_REJECTED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_MESSAGE_UNAVAILABLE
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_STARTED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_START_MESSAGE_UNAVAILABLE
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_START_TIME_NOT_AVAILABLE
SolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_TEMPORARY_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_REPLICATION_IS_STANDBY
SolClientSubCode.SOLCLIENT_SUBCODE_SELECTORS_NOT_SUPPORTED_ON_PARTITIONED_QUEUE
SolClientSubCode.SOLCLIENT_SUBCODE_SELECTOR_MATCH_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_SERVICE_UNAVAILABLE
SolClientSubCode.SOLCLIENT_SUBCODE_SESSION_NOT_ESTABLISHED
SolClientSubCode.SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_ENDPOINT_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_ALLOWED
SolClientSubCode.SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED
SolClientSubCode.SOLCLIENT_SUBCODE_SPOOL_OVER_QUOTA
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_ACL_DENIED
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_ALREADY_PRESENT
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_ATTRIBUTES_CONFLICT
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_INVALID
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_MANAGER_DENIED
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_MATCH_ERROR
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_NOT_FOUND
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_OTHER
SolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_TOO_MANY
SolClientSubCode.SOLCLIENT_SUBCODE_SYNC_REPLICATION_INELIGIBLE
SolClientSubCode.SOLCLIENT_SUBCODE_TE_SHUTDOWN
SolClientSubCode.SOLCLIENT_SUBCODE_TIMEOUT
SolClientSubCode.SOLCLIENT_SUBCODE_TOO_MANY_CLIENTS
SolClientSubCode.SOLCLIENT_SUBCODE_TOPIC_MISSING
SolClientSubCode.SOLCLIENT_SUBCODE_TOPIC_OR_SELECTOR_MODIFIED_ON_DURABLE_TOPIC_ENDPOINT
SolClientSubCode.SOLCLIENT_SUBCODE_TOPIC_TOO_LARGE
SolClientSubCode.SOLCLIENT_SUBCODE_TRANSACTED_SESSION_NAME_IN_USE
SolClientSubCode.SOLCLIENT_SUBCODE_TRANSACTION_FAILURE
SolClientSubCode.SOLCLIENT_SUBCODE_UNBIND_RESPONSE_LOST
SolClientSubCode.SOLCLIENT_SUBCODE_UNEXPECTED_UNBIND
SolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_CLIENT_NAME
SolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_DTE_NAME
SolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_FLOW_NAME
SolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_QUEUE_NAME
SolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_START_LOCATION_TYPE
SolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_TE_NAME
SolClientSubCode.SOLCLIENT_SUBCODE_UNRESOLVED_HOST
SolClientSubCode.SOLCLIENT_SUBCODE_UNSUBSCRIBE_NOT_ALLOWED_CLIENTS_BOUND
SolClientSubCode.SOLCLIENT_SUBCODE_UNTRUSTED_CERTIFICATE
SolClientSubCode.SOLCLIENT_SUBCODE_UNTRUSTED_CLIENT_CERTIFICATE
SolClientSubCode.SOLCLIENT_SUBCODE_UNTRUSTED_COMMONNAME
SolClientSubCode.SOLCLIENT_SUBCODE_USER_DATA_TOO_LARGE
SolClientSubCode.SOLCLIENT_SUBCODE_XML_PARSE_ERROR
- solace.messaging.config.transport_protocol_configuration module
- solace.messaging.config.transport_security_strategy module
- solace.messaging.config.updatable_configuration module
- solace.messaging.config.solace_constants package
- solace.messaging.connections package
- solace.messaging.core package
- solace.messaging.errors package
- solace.messaging.errors.pubsubplus_client_error module
AuthenticationError
AuthorizationError
BackPressureError
IllegalArgumentError
IllegalStateError
IncompatibleMessageError
IncompatibleServiceError
IncompleteMessageDeliveryError
InvalidConfigurationError
InvalidDataTypeError
InvalidServiceURLError
MessageDestinationDoesNotExistError
MessageNotAcknowledgedByBrokerError
MessageRejectedByBrokerError
MessageReplayError
MessageTooBigError
MissingReplierError
PubSubPlusClientError
PubSubPlusClientIOError
PubSubPlusCoreClientError
PubSubTimeoutError
PublisherOverflowError
ServiceUnreachableError
SolaceSDTError
TransactionError
TransactionRollbackError
TransportError
UnknownTransactionStateError
- solace.messaging.errors.pubsubplus_client_error module
- solace.messaging.publisher package
- solace.messaging.publisher.direct_message_publisher module
DirectMessagePublisher
DirectMessagePublisher.is_ready()
DirectMessagePublisher.is_running()
DirectMessagePublisher.is_terminated()
DirectMessagePublisher.is_terminating()
DirectMessagePublisher.notify_when_ready()
DirectMessagePublisher.publish()
DirectMessagePublisher.set_publish_failure_listener()
DirectMessagePublisher.set_publisher_readiness_listener()
DirectMessagePublisher.set_termination_notification_listener()
DirectMessagePublisher.start()
DirectMessagePublisher.start_async()
DirectMessagePublisher.terminate()
DirectMessagePublisher.terminate_async()
FailedPublishEvent
PublishFailureListener
- solace.messaging.publisher.message_publisher module
MessagePublisher
MessagePublisher.is_ready()
MessagePublisher.is_running()
MessagePublisher.is_terminated()
MessagePublisher.is_terminating()
MessagePublisher.notify_when_ready()
MessagePublisher.set_publisher_readiness_listener()
MessagePublisher.set_termination_notification_listener()
MessagePublisher.start()
MessagePublisher.start_async()
MessagePublisher.terminate()
MessagePublisher.terminate_async()
- solace.messaging.publisher.outbound_message module
OutboundMessage
OutboundMessage.get_application_message_id()
OutboundMessage.get_application_message_type()
OutboundMessage.get_class_of_service()
OutboundMessage.get_correlation_id()
OutboundMessage.get_expiration()
OutboundMessage.get_payload_as_bytes()
OutboundMessage.get_payload_as_dictionary()
OutboundMessage.get_payload_as_list()
OutboundMessage.get_payload_as_string()
OutboundMessage.get_priority()
OutboundMessage.get_properties()
OutboundMessage.get_property()
OutboundMessage.get_rest_interoperability_support()
OutboundMessage.get_sequence_number()
OutboundMessage.has_property()
OutboundMessageBuilder
OutboundMessageBuilder.build()
OutboundMessageBuilder.from_properties()
OutboundMessageBuilder.with_application_message_id()
OutboundMessageBuilder.with_application_message_type()
OutboundMessageBuilder.with_correlation_id()
OutboundMessageBuilder.with_expiration()
OutboundMessageBuilder.with_http_content_header()
OutboundMessageBuilder.with_priority()
OutboundMessageBuilder.with_property()
OutboundMessageBuilder.with_sender_id()
OutboundMessageBuilder.with_sequence_number()
- solace.messaging.publisher.persistent_message_publisher module
MessagePublishReceiptListener
PersistentMessagePublisher
PersistentMessagePublisher.is_ready()
PersistentMessagePublisher.is_running()
PersistentMessagePublisher.is_terminated()
PersistentMessagePublisher.is_terminating()
PersistentMessagePublisher.notify_when_ready()
PersistentMessagePublisher.publish()
PersistentMessagePublisher.publish_await_acknowledgement()
PersistentMessagePublisher.set_message_publish_receipt_listener()
PersistentMessagePublisher.set_publisher_readiness_listener()
PersistentMessagePublisher.set_termination_notification_listener()
PersistentMessagePublisher.start()
PersistentMessagePublisher.start_async()
PersistentMessagePublisher.terminate()
PersistentMessagePublisher.terminate_async()
PublishReceipt
- solace.messaging.publisher.publisher_health_check module
- solace.messaging.publisher.request_reply_message_publisher module
RequestReplyMessagePublisher
RequestReplyMessagePublisher.is_ready()
RequestReplyMessagePublisher.is_running()
RequestReplyMessagePublisher.is_terminated()
RequestReplyMessagePublisher.is_terminating()
RequestReplyMessagePublisher.notify_when_ready()
RequestReplyMessagePublisher.publish()
RequestReplyMessagePublisher.publish_await_response()
RequestReplyMessagePublisher.set_publisher_readiness_listener()
RequestReplyMessagePublisher.set_termination_notification_listener()
RequestReplyMessagePublisher.start()
RequestReplyMessagePublisher.start_async()
RequestReplyMessagePublisher.terminate()
RequestReplyMessagePublisher.terminate_async()
- solace.messaging.publisher.transactional_message_publisher module
TransactionalMessagePublisher
TransactionalMessagePublisher.is_ready()
TransactionalMessagePublisher.is_running()
TransactionalMessagePublisher.is_terminated()
TransactionalMessagePublisher.is_terminating()
TransactionalMessagePublisher.notify_when_ready()
TransactionalMessagePublisher.publish()
TransactionalMessagePublisher.set_publisher_readiness_listener()
TransactionalMessagePublisher.set_termination_notification_listener()
TransactionalMessagePublisher.start()
TransactionalMessagePublisher.start_async()
TransactionalMessagePublisher.terminate()
TransactionalMessagePublisher.terminate_async()
- solace.messaging.publisher.direct_message_publisher module
- solace.messaging.receiver package
- solace.messaging.receiver.acknowledgement_support module
- solace.messaging.receiver.async_receiver_subscriptions module
- solace.messaging.receiver.direct_message_receiver module
DirectMessageReceiver
DirectMessageReceiver.add_subscription()
DirectMessageReceiver.add_subscription_async()
DirectMessageReceiver.is_running()
DirectMessageReceiver.is_terminated()
DirectMessageReceiver.is_terminating()
DirectMessageReceiver.receive_async()
DirectMessageReceiver.receive_message()
DirectMessageReceiver.remove_subscription()
DirectMessageReceiver.remove_subscription_async()
DirectMessageReceiver.request_cached()
DirectMessageReceiver.set_termination_notification_listener()
DirectMessageReceiver.start()
DirectMessageReceiver.start_async()
DirectMessageReceiver.terminate()
DirectMessageReceiver.terminate_async()
- solace.messaging.receiver.inbound_message module
CacheStatus
InboundMessage
InboundMessage.MessageDiscardNotification
InboundMessage.get_and_convert_payload()
InboundMessage.get_application_message_id()
InboundMessage.get_application_message_type()
InboundMessage.get_cache_request_id()
InboundMessage.get_cache_status()
InboundMessage.get_class_of_service()
InboundMessage.get_correlation_id()
InboundMessage.get_destination_name()
InboundMessage.get_expiration()
InboundMessage.get_message_discard_notification()
InboundMessage.get_payload_as_bytes()
InboundMessage.get_payload_as_dictionary()
InboundMessage.get_payload_as_list()
InboundMessage.get_payload_as_string()
InboundMessage.get_priority()
InboundMessage.get_properties()
InboundMessage.get_property()
InboundMessage.get_replication_group_message_id()
InboundMessage.get_rest_interoperability_support()
InboundMessage.get_sender_id()
InboundMessage.get_sender_timestamp()
InboundMessage.get_sequence_number()
InboundMessage.get_time_stamp()
InboundMessage.has_property()
InboundMessage.is_redelivered()
ReplicationGroupMessageId
- solace.messaging.receiver.message_receiver module
- solace.messaging.receiver.persistent_message_receiver module
PersistentMessageReceiver
PersistentMessageReceiver.ack()
PersistentMessageReceiver.add_subscription()
PersistentMessageReceiver.add_subscription_async()
PersistentMessageReceiver.is_running()
PersistentMessageReceiver.is_terminated()
PersistentMessageReceiver.is_terminating()
PersistentMessageReceiver.pause()
PersistentMessageReceiver.receive_async()
PersistentMessageReceiver.receive_message()
PersistentMessageReceiver.receiver_info()
PersistentMessageReceiver.remove_subscription()
PersistentMessageReceiver.remove_subscription_async()
PersistentMessageReceiver.resume()
PersistentMessageReceiver.set_termination_notification_listener()
PersistentMessageReceiver.settle()
PersistentMessageReceiver.start()
PersistentMessageReceiver.start_async()
PersistentMessageReceiver.terminate()
PersistentMessageReceiver.terminate_async()
- solace.messaging.receiver.receiver_cache_requests module
- solace.messaging.receiver.receiver_flow_control module
- solace.messaging.receiver.receiver_subscriptions module
- solace.messaging.receiver.request_reply_message_receiver module
Replier
RequestMessageHandler
RequestReplyMessageReceiver
RequestReplyMessageReceiver.is_running()
RequestReplyMessageReceiver.is_terminated()
RequestReplyMessageReceiver.is_terminating()
RequestReplyMessageReceiver.receive_async()
RequestReplyMessageReceiver.receive_message()
RequestReplyMessageReceiver.set_termination_notification_listener()
RequestReplyMessageReceiver.start()
RequestReplyMessageReceiver.start_async()
RequestReplyMessageReceiver.terminate()
RequestReplyMessageReceiver.terminate_async()
- solace.messaging.receiver.transactional_message_receiver module
TransactionalMessageHandler
TransactionalMessageReceiver
TransactionalMessageReceiver.add_subscription()
TransactionalMessageReceiver.add_subscription_async()
TransactionalMessageReceiver.is_running()
TransactionalMessageReceiver.is_terminated()
TransactionalMessageReceiver.is_terminating()
TransactionalMessageReceiver.pause()
TransactionalMessageReceiver.receive_async()
TransactionalMessageReceiver.receive_message()
TransactionalMessageReceiver.receiver_info()
TransactionalMessageReceiver.remove_subscription()
TransactionalMessageReceiver.remove_subscription_async()
TransactionalMessageReceiver.resume()
TransactionalMessageReceiver.set_termination_notification_listener()
TransactionalMessageReceiver.start()
TransactionalMessageReceiver.start_async()
TransactionalMessageReceiver.terminate()
TransactionalMessageReceiver.terminate_async()
- solace.messaging.resources package
- solace.messaging.resources.cached_message_subscription_request module
- solace.messaging.resources.destination module
- solace.messaging.resources.queue module
- solace.messaging.resources.resource_accessibility module
- solace.messaging.resources.resource_durability module
- solace.messaging.resources.share_name module
- solace.messaging.resources.topic module
- solace.messaging.resources.topic_subscription module
- solace.messaging.utils package
- solace.messaging.utils.cache_request_outcome module
- solace.messaging.utils.cache_request_outcome_listener module
- solace.messaging.utils.converter module
- solace.messaging.utils.error_monitoring module
- solace.messaging.utils.interoperability_support module
- solace.messaging.utils.life_cycle_control module
- solace.messaging.utils.manageable module
ApiInfo
ApiMetrics
Manageable
Metric
Metric.BROKER_DISCARD_NOTIFICATIONS_RECEIVED
Metric.CACHE_REQUESTS_FAILED
Metric.CACHE_REQUESTS_SENT
Metric.CACHE_REQUESTS_SUCCEEDED
Metric.COMPRESSED_BYTES_RECEIVED
Metric.CONNECTION_ATTEMPTS
Metric.CONTROL_BYTES_RECEIVED
Metric.CONTROL_BYTES_SENT
Metric.CONTROL_MESSAGES_RECEIVED
Metric.CONTROL_MESSAGES_SENT
Metric.DIRECT_BYTES_RECEIVED
Metric.DIRECT_BYTES_SENT
Metric.DIRECT_MESSAGES_RECEIVED
Metric.DIRECT_MESSAGES_SENT
Metric.INTERNAL_DISCARD_NOTIFICATIONS
Metric.NONPERSISTENT_BYTES_RECEIVED
Metric.NONPERSISTENT_BYTES_REDELIVERED
Metric.NONPERSISTENT_BYTES_SENT
Metric.NONPERSISTENT_MESSAGES_RECEIVED
Metric.NONPERSISTENT_MESSAGES_REDELIVERED
Metric.NONPERSISTENT_MESSAGES_SENT
Metric.PERSISTENT_ACKNOWLEDGE_SENT
Metric.PERSISTENT_BYTES_RECEIVED
Metric.PERSISTENT_BYTES_REDELIVERED
Metric.PERSISTENT_BYTES_SENT
Metric.PERSISTENT_DUPLICATE_MESSAGES_DISCARDED
Metric.PERSISTENT_MESSAGES_RECEIVED
Metric.PERSISTENT_MESSAGES_REDELIVERED
Metric.PERSISTENT_MESSAGES_SENT
Metric.PERSISTENT_MESSSAGES_ACCEPTED
Metric.PERSISTENT_MESSSAGES_FAILED
Metric.PERSISTENT_MESSSAGES_REJECTED
Metric.PERSISTENT_NO_MATCHING_FLOW_MESSAGES_DISCARDED
Metric.PERSISTENT_OUT_OF_ORDER_MESSAGES_DISCARDED
Metric.PUBLISHED_MESSAGES_ACKNOWLEDGED
Metric.PUBLISHER_ACKNOWLEDGEMENT_RECEIVED
Metric.PUBLISHER_ACKNOWLEDGEMENT_TIMEOUTS
Metric.PUBLISHER_WINDOW_CLOSED
Metric.PUBLISHER_WOULD_BLOCK
Metric.PUBLISH_MESSAGES_DISCARDED
Metric.PUBLISH_MESSAGES_TERMINATION_DISCARDED
Metric.RECEIVED_MESSAGES_BACKPRESSURE_DISCARDED
Metric.RECEIVED_MESSAGES_TERMINATION_DISCARDED
Metric.TOO_BIG_MESSAGES_DISCARDED
Metric.TOTAL_BYTES_RECEIVED
Metric.TOTAL_BYTES_SENT
Metric.TOTAL_MESSAGES_RECEIVED
Metric.TOTAL_MESSAGES_SENT
Metric.UNKNOWN_PARAMETER_MESSAGES_DISCARDED
TransactionalServiceInfo
- solace.messaging.utils.manageable_publisher module
- solace.messaging.utils.manageable_receiver module
solace.messaging.message module
This module is an abstract base class for a Message.
Message
is the base class for:
Message
instances are the objects that carry the payload and meta data to and from the
solace.messaging.message_service.MessageService
- class solace.messaging.message.Message
Bases:
InteroperabilitySupport
An abstract class that abstracts a Solace PubSub+ Message.
- abstract get_application_message_id()
Gets an optional application message identifier when sender application sets one.
- Returns:
Sender application identifier if set by message publisher, or None/empty if not set.
- Return type:
- abstract get_application_message_type()
Gets the application message type. This value is used by applications only, and is passed through the API unmodified.
- Returns:
Application message type or None if not set.
- Return type:
- abstract get_class_of_service() int | None
Retrieves the class of service level of a given message. This feature is only relevant. for direct messaging. If no class of service is set, the message is given a default class of service of 0.
- Returns:
An integer between 0 and 2, inclusive, representing the class of service of the message.
- Return type:
(int)
- Raises:
PubSubPlusClientError – If an error was encountered while trying to retrieve the class of service of the message.
- abstract get_correlation_id() str | None
Retrieves the correlation ID from the message. The correlation ID is user-defined, carried end-to-end, and can also be matched in a selector, but otherwise is not relevant to the event broker. The correlation ID may be used for peer-to-peer message synchronization. In JMS applications this field is carried as the JMSCorrelationID Message Header Field.
- Returns:
A unique identifier for the message set by producer or None.
- Return type:
- abstract get_expiration() int | None
Retrieves the expiration time.
The expiration time is the UTC time (in ms, from midnight, January 1, 1970 UTC) when the message is considered expired. A value of 0 means the message never expires. The default value is 0.
- Returns:
The UTC time when the message is discarded or moved to a Dead Message Queue by the PubSub+ broker or None if it was not set.
- Return type:
- abstract get_payload_as_bytes() bytearray | None
Retrieves the payload of the message.
- Returns:
the byte array with the message payload or None if there is no payload.
- Return type:
- abstract get_payload_as_dictionary() Dict | None
Retrieves the dictionary format of payload of message.
PubSub+ messages can be published with a SDTMap payload. This is a platform-agnostic dictionary format that allows data types to be sent and received in messages that is independent of the publisher or consumer applications.
- Returns:
- dictionary found in the payload or None if there is no payload, or the payload is not a
dictionary
- Return type:
- Raises:
PubSubPlusCoreClientError – Raises when there is an internal error
SolaceSDTError – Raises when unsupported data type is received
- abstract get_payload_as_list() List | None
Retrieves the list format of payload of message.
PubSub+ messages can be published with a SDTStream payload. This is a platform-agnostic list format that allows data types to be sent and received in messages that is independent of the publisher or consumer applications.
- Returns:
list found in the payload or None if there is no payload, or the payload is not a List
- Return type:
- Raises:
PubSubPlusCoreClientError – Raises when there is an internal error
SolaceSDTError – Raises when unsupported data type is received
- abstract get_payload_as_string() str | None
Retrieves the string-encoded payload of message.
PubSub+ messages can be published with a string-encoded payload. This is a platform-agnostic string format that allows strings to be sent and received in messages that is independent of the publisher or consumer applications. For example, in this way a non-Python publishing application can send a Unicode string that can still be consumed by a Python-based application.
If message payload is not specifically encoded as a string, it cannot be retrieved as a string. For instance, a publisher if the publisher sends a UTF-8 string as a bytearray, this method cannot be used to extract the string. Even though the payload is a string (
str
), it is not encoded to identify it as such.- Returns:
String found in the payload or None if there is no payload, or the payload is not a String.
- Return type:
- abstract get_priority() int | None
Retrieves the priority value. Valid values range from 0 to 255.
- Returns:
A priority value from 0 to 255, or None if the priority is not set.
- Return type:
- Raises:
PubSubPlusClientError – Any error if the priority of the message could not be retrieved.
- abstract get_properties() Dict[str, str | int | float | bool | dict | list | bytearray | None]
Retrieves the non-solace properties attached to the message.
Any property defined in
Message Properties
is not returned in this dictionary. Solace defined property keys all begin with “solace.messaging”, however any key even those beginning with “solace.” may be a a non solace property if it is not defined in this API.Message Properties are carried in Message meta data in addition to the Message payload. Properties are stored in a dictionary of key-value pairs where the key is controlled by the application.
- Returns:
The non-solace properties attached to the message.
- Return type:
- abstract get_property(name: str) str | int | float | bool | dict | list | bytearray | None
Retrieves The value of a specific non-solace property.
Any property defined in
Message Properties
is not available and this method will return None. Solace defined property keys all begin with “solace.messaging”, however any key even those beginning with “solace.” may be a a non solace property if it is not defined in this API.
- abstract get_rest_interoperability_support() RestInteroperabilitySupport
Retrieves access to the optional metadata used for interoperability with REST messaging clients.
- Returns:
The metadata collection or None if not set.
- Return type:
- abstract get_sequence_number() int | None
Gets the sequence number of the message.
Sequence numbers may be set by publisher applications or automatically generated by publisher APIs. The sequence number is carried in the Message meta data in addition to the payload and may be retrieved by consumer applications.
- Returns:
The positive sequence number or None if it was not set.
- Return type:
- abstract has_property(name: str) bool
Checks if the message has a specific non-solace property attached.
Any property defined in
Message Properties
is not available and this method will return false. Solace defined property keys all begin with “solace.messaging”, however any key even those beginning with “solace.” may be a a non solace property if it is not defined in this API.- Parameters:
name (str) – the name of the property.
- Returns:
True if the property is present. False otherwise.
solace.messaging.messaging_service module
The MessagingService (solace.messaging.messaging_service
) is an abstract class that
represents the Solace PubSub+ messaging service.
The MessagingService
is used to:
connect the service
disconnect the service
create a
MessagePublisherBuilder
create a
MessageReceiverBuilder
The builder for the MessagingService contains the configuration to identify:
a Solace PubSub+ event broker
the client to the Solace PubSub+ Event Broker
messaging service characteristics such as flow control
- class solace.messaging.messaging_service.MessagingService
Bases:
Connectable
,AsyncConnectable
,Manageable
,ErrorMonitoring
,ABC
This is an abstract class for the messaging service and inherits
Connectable
,AsyncConnect
,Manageable
, andErrorMonitoring
. It contains abstract methods for connecting, disconnecting a service in both blocking and non-blocking mode and also contains the factory methods to create builders for a message receiver (solace.messaging.builder.message_receiver_builder.MessageReceiverBuilder
) and message publishers (solace.messaging.builder.message_publisher_builder.MessagePublisherBuilder
).- abstract add_reconnection_attempt_listener(listener: ReconnectionAttemptListener) Connectable
Registers a
solace.messaging.messaging_service.ReconnectionAttemptListener
to receive notification of reconnection attempts. Reconnection attempt notifications are generated when an established connection fails and the API begins the reconnection process.- Parameters:
listener (ReconnectionListener) – The listener to register with the reconnection attempt.
- Returns:
An object representing a synchronous connection.
- Return type:
- abstract add_reconnection_listener(listener: ReconnectionListener) Connectable
Registers a
solace.messaging.messaging_service.ReconnectionListener
to receive notification of successful reconnection. Reconnection notifications are generated when an established connection fails and is subsequently successfully reconnects.- Parameters:
listener (ReconnectionListener) – The listener to register.
- Returns:
An object representing a synchronous connection.
- Return type:
- abstract add_service_interruption_listener(listener: ServiceInterruptionListener)
Adds a service listener for listening to non recoverable service interruption events.
- Parameters:
listener – service interruption listener
- static builder() MessagingServiceClientBuilder
Retrieves a
MessagingServiceClientBuilder
object.- Returns:
A builder object for the message service.
- Return type:
- abstract connect() Connectable
Initiates the synchronous connection process with a PubSub+ event broker on a
solace.messaging.messaging_service.MessagingService
instance. In order to operate normally this method needs to be called on a service instance. After the method returns, theMessagingService
has been successfully connected.- Raises:
PubSubPlusClientError – If the
MessagingService
cannot be connected.IllegalStateError – When another connect/disconnect operation is ongoing.
- abstract connect_async() Future
Connects asynchronously with a PubSub+ event broker. This method initiates the connection process on the
solace.messaging.messaging_service.MessagingService
. The connection proceeds asynchronously, with the success or failure status available in the returned concurrent.futures.Future object.This method initiates the connect process on the
solace.messaging.messaging_service.MessagingService
. The connection proceeds asynchronously, with the success or failure status available in the returned concurrent.futures.Future object.- Returns:
An object that the application may use to determine when the connection attempt has completed.
- Return type:
- Raises:
PubSubPlusClientError – If the messaging service cannot be connected.
IllegalStateError – if an attempt to connect to a messaging service that’s been disconnected.
- abstract create_direct_message_publisher_builder() DirectMessagePublisherBuilder
Defines the interface for a builder to create a direct message publisher.
- Returns:
An DirectMessagePublisherBuilder object.
- Return type:
- abstract create_direct_message_receiver_builder() DirectMessageReceiverBuilder
Defines the interface for a builder to create direct message receiver.
- Returns:
An DirectMessageReceiverBuilder object.
- Return type:
- abstract create_persistent_message_publisher_builder() PersistentMessagePublisherBuilder
Defines the interface for a builder to create a persistent message publisher.
- Returns:
An PersistentMessagePublisherBuilder object.
- Return type:
- abstract create_persistent_message_receiver_builder() PersistentMessageReceiverBuilder
Defines the interface for a builder to create a persistent message receiver.
- Returns:
An PersistentMessageReceiverBuilder object.
- Return type:
- abstract create_transactional_service_builder() TransactionalMessagingServiceBuilder
Creates a {@link TransactionalMessagingServiceBuilder} that is used to configure and create transactional messaging service instances :returns: new instance of TransactionalMessagingServiceBuilder :rtype: TransactionalMessagingServiceBuilder
- abstract disconnect()
Initiates the disconnect (synchronous) process on the
solace.messaging.messaging_service.MessagingService
. The method does not return until the disconnect process completes. After the disconnect process completes, theMessaging Service
can not be connected again.
- abstract disconnect_async() Future
Initiates the disconnection process on a
solace.messaging.messaging_service.MessagingService
instance. The disconnection process proceeds asynchronously with the completion notice available in the returnedconcurrent.futures.Future
Once disconnect is complete, the
MessagingService
can not be connected again.- Returns:
An object that your application can use to determine when the disconnection process has completed.
- Return type:
- Raises:
PubSubPlusClientError – If the messaging service cannot be disconnected.
- abstract get_application_id() str
Retrieves the application identifier.
- Returns:
The application identifier.
- abstract info() ApiInfo
Retrieves the API as an py:class:ApiInfo<solace.messaging.util.manageable.Manageable.ApiInfo>.
- Returns:
The ApiInfo object.
- Return type:
- abstract property is_connected: bool
Determines whether a service is currently connected and indicate the current state of the
solace.messaging.messaging_service.MessagingService
.- Returns:
True if service is connected to a PubSub+ event broker, otherwise False.
- Return type:
- Raises:
PubSubPlusClientError – If the state of the service cannot be determined.
- abstract message_builder() OutboundMessageBuilder
Defines the interface for a builder to create an outbound message.
- Returns:
An OutboundMessageBuilder object.
- Return type:
- Raises:
PubSubPlusClientError – If there was an error in creating the message builder.
- abstract metrics() ApiMetrics
Retrieves the API Metrics as a
solace.messaging.utils.manageable.ApiMetrics
object.- Returns:
The metrics transmitted/received data and events on the MessagingService.
- Return type:
- abstract remove_reconnection_attempt_listener(listener: ReconnectionAttemptListener) Connectable
Remove a
solace.messaging.messaging_service.ReconnectionAttemptListener
- Parameters:
listener (ReconnectionListener) – The listener to deregister.
- Returns:
An object representing a synchronous connection.
- Return type:
- abstract remove_reconnection_listener(listener: ReconnectionListener) Connectable
Removes a
solace.messaging.messaging_service.ReconnectionListener
.- Parameters:
listener (ReconnectionListener) – A reconnection listener to remove.
- Returns:
An object representing a synchronous connection.
- Return type:
- abstract remove_service_interruption_listener(listener: ServiceInterruptionListener) bool
Removes a service listener for listening to non-recoverable service interruption events.
- Parameters:
listener (ServiceInterruptionListener) – service interruption listener
- Returns:
True if removal was successful, False otherwise.
- Return type:
- abstract request_reply() RequestReplyMessagingService
Creates RequestReplyMessagingService that inherits entire configuration from this instance.
- Returns:
new instance of
solace.messaging.messaging_service.RequestReplyMessagingService
- static set_core_messaging_log_level(level: str, file=None)
Sets the core (Native) API log level. The Native API only generates logs at the given level or higher, which may be further filtered by Python logging.
Warning
Don’t set the message log level to be too high or you’ll impact the messaging service performance. For example, though it may seem like a good idea to set the core log level to a DEBUG level and then rely on Python logging to filter the logs, doing so severely affects the messaging service performance. For this reason, don’t do this. The core log level must be set lower than WARNING as a diagnostic aid.
- abstract update_property(name: str, value: Any)
Updates the value of a modifiable service property once the service has been created. Modifiable service properties include:
SCHEME_OAUTH2_ACCESS_TOKEN
, whose update will be applied during the next reconnection attempt.SCHEME_OAUTH2_OIDC_ID_TOKEN
, whose update will be applied during the next reconnection attempt.
Modification of a service property may occur instantly, or may occur during the next service reconnection. Modification of a service property during an ongoing service reconnection may apply to the next reconnection attempt.
- Parameters:
name (str) – The name of the property to modify.
value (Any) – The new value of the property.
- Raises:
IllegalArgumentError – If the specified property cannot be modified.
IllegalStateError – If the specified property cannot be modified in the current service state.
PubSubPlusClientError – If other transport or communication related errors occur.
- class solace.messaging.messaging_service.MessagingServiceClientBuilder
Bases:
TransportProtocolConfiguration
,AuthenticationConfiguration
,PropertyBasedConfiguration
Builder class for messaging service builder
- build(application_id: str = None) MessagingService
Builds a
MessagingService
instance.- Parameters:
application_id (str) – Application id
- Returns:
An Messaging Service object.
- Return type:
- from_properties(configuration: dict) MessagingServiceClientBuilder
Passes a configuration dictionary for configuration information.
- Parameters:
configuration (dict) – Pass a configuration dictionary.
- Returns:
An object for method chaining.
- Return type:
- with_authentication_strategy(authentication_strategy: AuthenticationStrategy) MessagingServiceClientBuilder
Configures the
MessageService
instance with the authentication strategy. For more information, see the base classsolace.messaging.config.authentication_strategy.AuthenticationConfiguration
.- Parameters:
authentication_strategy (AuthenticationStrategy) – The authentication strategy.
- Returns:
An object for method chaining.
- Return type:
- with_connection_retry_strategy(strategy: RetryStrategy) MessagingServiceClientBuilder
Configures the
MessageService
instance with the connection retry strategy. For more information, see the base classsolace.messaging.config.retry_strategy.RetryStrategy
.- Parameters:
strategy (RetryStrategy) – The retry strategy.
- Returns:
An object for method chaining.
- Return type:
- with_message_compression(compression_factor: int = 0) MessagingServiceClientBuilder
Configures the
MessageService
instance with so that messages are compressed with ZLIB before transmission and decompressed on receive.- Parameters:
compression_factor (int) – Enables messages to be compressed with ZLIB before transmission and decompressed on receive. The valid values to use are 0 (off) or 1..9, where 1 is least amount of compression (fastest) and 9 is the most amount of compression (slowest).
- Returns:
An object for method chaining.
- Return type:
- with_reconnection_retry_strategy(strategy: RetryStrategy) MessagingServiceClientBuilder
Configures the
MessageService
instance with the reconnection retry strategy. For more information, see the base classsolace.messaging.config.transport_protocol_configuration.TransportProtocolConfiguration
.- Parameters:
strategy (RetryStrategy) – The retry strategy.
- Returns:
An object for method chaining.
- Return type:
- with_transport_security_strategy(transport_layer_security_strategy: TransportSecurityStrategy) MessagingServiceClientBuilder
Configures a message with Transport Layer Security configuration. For more information, see the base class
solace.messaging.config.transport_protocol_configuration.TransportProtocolConfiguration
.- Parameters:
transport_layer_security_strategy (TransportSecurityStrategy) – The transport security strategy.
- Returns:
An object for method chaining.
- Return type:
- class solace.messaging.messaging_service.ReconnectionAttemptListener
Bases:
ABC
A class interface definition for a reconnection attempt event listener. Applications that are interested in
ReconnectionAttempt
events must instantiate an object implementing the ReconnectionAttemptListener class and register the listener withMessagingService.add_reconnection_attempt_listener
.- abstract on_reconnecting(event: ServiceEvent)
Callback executed for the
MessagingService
connection fails and reconnection attempts begin.- Parameters:
event (ServiceEvent) – The Reconnection event with detailed information for each reconnection attempt.
- class solace.messaging.messaging_service.ReconnectionListener
Bases:
ABC
A class interface definition for a
ReconnectionListener
Applications interested inReconnection
events must instantiate an object implementing theReconnectionListener
class and register the listener withMessagingService.add_reconnection_listener()
.- abstract on_reconnected(service_event: ServiceEvent)
Callback invoked by
MessagingService
(solace.messaging.messaging_service.MessagingService
) object when it is successfully reconnected.- Parameters:
service_event (ServiceEvent) – The detailed information for the event.
- class solace.messaging.messaging_service.RequestReplyMessagingService
Bases:
ABC
An interface that abstracts request-reply behavior.
- abstract create_request_reply_message_publisher_builder() RequestReplyMessagePublisherBuilder
Abstract method to create request reply publisher builder Class
- Returns:
RequestReplyMessagePublisherBuilder instance
- abstract create_request_reply_message_receiver_builder() RequestReplyMessageReceiverBuilder
Abstract method to create request reply receiver builder Class
- Returns:
RequestReplyMessageReceiverBuilder instance
- class solace.messaging.messaging_service.ServiceEvent
Bases:
ABC
This class represents an event that can occur asynchronously on a
solace.messaging.messaging_service.MessagingService
object. Applications that are interested inServiceEvent
objects must register a listener for the one of interest.The available listeners for service events are listed below.
ReconnectionListener
: Handle service events. These events indicate that the service reconnected.ReconnectionAttemptListener
: Handles events indicating service disconnected, reconnection status.
- abstract get_broker_uri() str
Retrieves the URI of the event broker.
- Returns:
The event broker URI associated with the Messaging Service.
- Return type:
- abstract get_cause() PubSubPlusClientError
Retrieves the cause of the client exception (
solace.messaging.errors.pubsubplus_client_error.PubSubPlusClientError
).- Returns:
The client error for the event.
- Return type:
- class solace.messaging.messaging_service.ServiceInterruptionListener
Bases:
ABC
An interface that abstracts notification about non recoverable service interruption.
- abstract on_service_interrupted(event: ServiceEvent)
Callback executed in situation when connection goes down and cannot be successfully restored.
- Parameters:
event – The service interruption event describing nature of the failure.
- class solace.messaging.messaging_service.TransactionalMessagingService
Bases:
TransactionalSupport
,Connectable
,ABC
An interface for transactional (non-XA, broker transacted session) use case of a PubSub+ event broker. Transactions are feature of the PubSub+ event broker, client just enables broker-side transactional support.
- abstract add_reconnection_attempt_listener(listener: ReconnectionAttemptListener) Connectable
Registers a
solace.messaging.messaging_service.ReconnectionAttemptListener
to receive notification of reconnection attempts. Reconnection attempt notifications are generated when an established connection fails and the API begins the reconnection process.- Parameters:
listener (ReconnectionListener) – The listener to register with the reconnection attempt.
- Returns:
An object representing a synchronous connection.
- Return type:
- abstract add_reconnection_listener(listener: ReconnectionListener) Connectable
Registers a
solace.messaging.messaging_service.ReconnectionListener
to receive notification of successful reconnection. Reconnection notifications are generated when an established connection fails and is subsequently successfully reconnects.- Parameters:
listener (ReconnectionListener) – The listener to register.
- Returns:
An object representing a synchronous connection.
- Return type:
- commit()
- Commits all messages based on this following:
For all messages published to the broker within given transaction, ‘commit’ allows PubSub+ Broker to deliver them.
For all messages received in a given transaction ‘commit’ allows broker to delete them on a broker.
- After commit is called, a ‘new’ transactions are automatically started for publisher and receiver
if any associated.
- Raises:
TransactionRollbackError – can be thrown if commit fails and broker indicates rollback. This starts a new transaction.
UnknownTransactionStateError – can be thrown when transaction state is lost and can not be recovered between the remote broker and client service. In this case it is unknown whether the borker completed the transaction or not.
PubSubPlusClientError – can be thrown if the service has an error on commit
- abstract connect() Connectable
Initiates the synchronous connection process with a PubSub+ event broker on a
solace.messaging.messaging_service.MessagingService
instance. In order to operate normally this method needs to be called on a service instance. After the method returns, theMessagingService
has been successfully connected.- Raises:
PubSubPlusClientError – If the
MessagingService
cannot be connected.IllegalStateError – When another connect/disconnect operation is ongoing.
- create_transactional_message_publisher_builder() TransactionalMessagePublisherBuilder
Creates a transactional message publisher builder instance.
- create_transactional_message_receiver_builder() TransactionalMessageReceiverBuilder
Creates a transactional message receiver builder instance.
- abstract disconnect()
Initiates the disconnect (synchronous) process on the
solace.messaging.messaging_service.MessagingService
. The method does not return until the disconnect process completes. After the disconnect process completes, theMessaging Service
can not be connected again.
- abstract property is_connected: bool
Determines whether a service is currently connected and indicate the current state of the
solace.messaging.messaging_service.MessagingService
.- Returns:
True if service is connected to a PubSub+ event broker, otherwise False.
- Return type:
- Raises:
PubSubPlusClientError – If the state of the service cannot be determined.
- abstract remove_reconnection_attempt_listener(listener: ReconnectionAttemptListener) Connectable
Remove a
solace.messaging.messaging_service.ReconnectionAttemptListener
- Parameters:
listener (ReconnectionListener) – The listener to deregister.
- Returns:
An object representing a synchronous connection.
- Return type:
- abstract remove_reconnection_listener(listener: ReconnectionListener) Connectable
Removes a
solace.messaging.messaging_service.ReconnectionListener
.- Parameters:
listener (ReconnectionListener) – A reconnection listener to remove.
- Returns:
An object representing a synchronous connection.
- Return type:
- rollback()
Forces a broker to redeliver all messages and/or remove messages that were published as part of a rolled-back transaction.
- Raises:
PubSubPlusClientError – can be thrown if the service has an error on rollback
- transactional_service_info() TransactionalServiceInfo
Provides access to the advanced information about transactional service at runtime.
- Returns:
- to access advanced information about the
transactional messaging service.
- Return type:
- class solace.messaging.messaging_service.TransactionalMessagingServiceBuilder(messaging_service)
Bases:
PropertyBasedConfiguration
An interface to create transactional (non-XA) messaging service with a PubSub+ event broker. Transactions are feature of the PubSub+ event broker, client just enables broker-side transactional support.
- build() TransactionalMessagingService
Creates a new instance of transactional messaging service using the configuration provided by self instance of a builder.
- Returns:
a new immutable instance of a TransactionalMessagingService to be used for transactional message publishing or receive purposes
- Return type:
- from_properties(configuration: dict) TransactionalMessagingServiceBuilder
Passes a configuration dictionary for configuration information.
- Parameters:
configuration (dict) – Pass a configuration dictionary.
- Returns:
An object for method chaining.
- Return type:
- set_transaction_request_timeout(timeout: int = 10000) TransactionalMessagingServiceBuilder
Timeout (in milliseconds) to wait for a response. Default is 10000. This is used for service requests like connect, disconnect, commit and rollback. :param timeout: time in milliseconds, the minimum configuration value is 1000. :type timeout: int