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.MessagingServiceobjectcreate a
solace.messaging.messaging_service.MessagingServiceobject
The Messaging Service in turn can be used to:
connect the
solace.messaging.messaging_service.MessagingServicecreate a
solace.messaging.builder.message_publisher_builder.MessagePublisherBuilder: for buildingMessagePublisherscreate a
solace.messaging.builder.message_receiver_builder.MessageReceiverBuilderfor buildingMessageReceiverscreate a
solace.messaging.publisher.outbound_message.OutboundMessageBuilderfor buildingMessagesto publish
- solace.messaging.builder package
- solace.messaging.builder.direct_message_publisher_builder module
- solace.messaging.builder.direct_message_receiver_builder module
DirectMessageReceiverBuilderDirectMessageReceiverBuilder.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
PersistentMessageReceiverBuilderPersistentMessageReceiverBuilder.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
TransactionalMessageReceiverBuilderTransactionalMessageReceiverBuilder.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_ACKPERSISTENT_RECEIVER_CLIENT_ACKPERSISTENT_RECEIVER_CREATE_ON_START_MISSING_RESOURCESPERSISTENT_RECEIVER_DO_NOT_CREATE_MISSING_RESOURCESPERSISTENT_RECEIVER_OUTCOME_ACCEPTEDPERSISTENT_RECEIVER_OUTCOME_FAILEDPERSISTENT_RECEIVER_OUTCOME_REJECTEDPERSISTENT_REPLAY_ALLPERSISTENT_REPLAY_ID_BASEDPERSISTENT_REPLAY_TIME_BASEDRECEIVER_BACK_PRESSURE_STRATEGY_DROP_LATESTRECEIVER_BACK_PRESSURE_STRATEGY_DROP_OLDESTRECEIVER_BACK_PRESSURE_STRATEGY_ELASTIC
- solace.messaging.config.solace_properties package
- solace.messaging.config.solace_properties.authentication_properties module
KRB_SERVICE_NAMESCHEMESCHEME_BASIC_PASSWORDSCHEME_BASIC_USER_NAMESCHEME_CLIENT_CERT_USER_NAMESCHEME_CLIENT_PRIVATE_KEY_FILE_PASSWORDSCHEME_KERBEROS_USER_NAMESCHEME_OAUTH2_ACCESS_TOKENSCHEME_OAUTH2_ISSUER_IDENTIFIERSCHEME_OAUTH2_OIDC_ID_TOKENSCHEME_SSL_CLIENT_CERT_FILESCHEME_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_CAPACITYDIRECT_BACK_PRESSURE_STRATEGYPERSISTENT_MESSAGE_ACK_STRATEGYPERSISTENT_MESSAGE_REPLAY_STRATEGYPERSISTENT_MESSAGE_REPLAY_STRATEGY_ID_BASED_REPLICATION_GROUP_MESSAGE_IDPERSISTENT_MESSAGE_REPLAY_STRATEGY_TIME_BASED_START_TIMEPERSISTENT_MESSAGE_SELECTOR_QUERYPERSISTENT_MISSING_RESOURCE_CREATION_STRATEGYPERSISTENT_NO_LOCAL_PUBLISHED_MESSAGESPERSISTENT_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
SolClientSubCodeSolClientSubCode.SOLCLIENT_SUBCODE_AD_APP_ACK_FAILED_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_ASSURED_MESSAGING_NOT_ESTABLISHEDSolClientSubCode.SOLCLIENT_SUBCODE_ASSURED_MESSAGING_STATE_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_BASIC_AUTHENTICATION_IS_SHUTDOWNSolClientSubCode.SOLCLIENT_SUBCODE_BROWSING_NOT_SUPPORTED_ON_PARTITIONED_QUEUESolClientSubCode.SOLCLIENT_SUBCODE_CACHE_ALREADY_IN_PROGRESSSolClientSubCode.SOLCLIENT_SUBCODE_CACHE_ERROR_RESPONSESolClientSubCode.SOLCLIENT_SUBCODE_CACHE_INVALID_SESSIONSolClientSubCode.SOLCLIENT_SUBCODE_CACHE_LIVEDATA_FULFILLSolClientSubCode.SOLCLIENT_SUBCODE_CACHE_NO_DATASolClientSubCode.SOLCLIENT_SUBCODE_CACHE_REQUEST_CANCELLEDSolClientSubCode.SOLCLIENT_SUBCODE_CACHE_SUSPECT_DATASolClientSubCode.SOLCLIENT_SUBCODE_CACHE_TIMEOUTSolClientSubCode.SOLCLIENT_SUBCODE_CANNOT_BIND_TO_QUEUESolClientSubCode.SOLCLIENT_SUBCODE_CANNOT_BLOCK_IN_CONTEXTSolClientSubCode.SOLCLIENT_SUBCODE_CANNOT_MODIFY_WHILE_NOT_IDLESolClientSubCode.SOLCLIENT_SUBCODE_CERTIFICATE_DATE_INVALIDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_ACL_DENIEDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_AUTHENTICATION_IS_SHUTDOWNSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_DATE_INVALIDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_DELETE_IN_PROGRESSSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_BROWSER_FLOW_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_INACTIVE_FLOW_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_NON_EXCLUSIVE_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_NAME_ALREADY_IN_USESolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_NAME_INVALIDSolClientSubCode.SOLCLIENT_SUBCODE_CLIENT_USERNAME_IS_SHUTDOWNSolClientSubCode.SOLCLIENT_SUBCODE_COMMIT_OR_ROLLBACK_IN_PROGRESSSolClientSubCode.SOLCLIENT_SUBCODE_COMMIT_STATUS_UNKNOWNSolClientSubCode.SOLCLIENT_SUBCODE_COMMUNICATION_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_COMPRESSED_SSL_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_CONTAINER_BUSYSolClientSubCode.SOLCLIENT_SUBCODE_CONTROL_OTHERSolClientSubCode.SOLCLIENT_SUBCODE_CUT_THROUGH_ALREADY_BOUNDSolClientSubCode.SOLCLIENT_SUBCODE_CUT_THROUGH_INCOMPATIBLE_WITH_SESSIONSolClientSubCode.SOLCLIENT_SUBCODE_CUT_THROUGH_UNSUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_DATA_OTHERSolClientSubCode.SOLCLIENT_SUBCODE_DBLOCK_ALREADY_EXISTSSolClientSubCode.SOLCLIENT_SUBCODE_DELIVERY_COUNT_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_DELIVERY_MODE_UNSUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_DELIVER_TO_ONE_INVALIDSolClientSubCode.SOLCLIENT_SUBCODE_DYNAMIC_CLIENTS_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_ENDPOINT_ALREADY_EXISTSSolClientSubCode.SOLCLIENT_SUBCODE_ENDPOINT_MODIFIEDSolClientSubCode.SOLCLIENT_SUBCODE_ENDPOINT_PROPERTY_MISMATCHSolClientSubCode.SOLCLIENT_SUBCODE_FAILED_LOADING_CERTIFICATE_AND_KEYSolClientSubCode.SOLCLIENT_SUBCODE_FAILED_LOADING_TRUSTSTORESolClientSubCode.SOLCLIENT_SUBCODE_FLOW_ACTIVE_FLOW_INDICATION_UNSUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_FLOW_UNBOUNDSolClientSubCode.SOLCLIENT_SUBCODE_INIT_NOT_CALLEDSolClientSubCode.SOLCLIENT_SUBCODE_INSUFFICIENT_SPACESolClientSubCode.SOLCLIENT_SUBCODE_INTERNAL_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_CONNECTION_OWNERSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_DATA_CONVERSIONSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_DURABILITYSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_FLOW_OPERATIONSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_SELECTORSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_SESSION_OPERATIONSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_SMF_MESSAGESolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_DTESolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_TESolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TOPIC_SYNTAXSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TRANSACTED_SESSION_IDSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_TRANSACTION_IDSolClientSubCode.SOLCLIENT_SUBCODE_INVALID_VIRTUAL_ADDRESSSolClientSubCode.SOLCLIENT_SUBCODE_KEEP_ALIVE_FAILURESolClientSubCode.SOLCLIENT_SUBCODE_KERBEROS_AUTHENTICATION_IS_SHUTDOWNSolClientSubCode.SOLCLIENT_SUBCODE_LIBRARY_NOT_LOADEDSolClientSubCode.SOLCLIENT_SUBCODE_LOGIN_FAILURESolClientSubCode.SOLCLIENT_SUBCODE_LOG_FILE_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_LOW_PRIORITY_MSG_CONGESTIONSolClientSubCode.SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_DTESolClientSubCode.SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_QUEUESolClientSubCode.SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_TESolClientSubCode.SOLCLIENT_SUBCODE_MAX_MESSAGE_USAGE_EXCEEDEDSolClientSubCode.SOLCLIENT_SUBCODE_MAX_TOTAL_MSGSIZE_EXCEEDEDSolClientSubCode.SOLCLIENT_SUBCODE_MAX_TRANSACTED_SESSIONS_EXCEEDEDSolClientSubCode.SOLCLIENT_SUBCODE_MAX_TRANSACTIONS_EXCEEDEDSolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_CONSUME_FAILURESolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_ID_NOT_COMPARABLESolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_PUBLISH_FAILURESolClientSubCode.SOLCLIENT_SUBCODE_MESSAGE_TOO_LARGESolClientSubCode.SOLCLIENT_SUBCODE_MISMATCHED_ENDPOINT_ERROR_IDSolClientSubCode.SOLCLIENT_SUBCODE_MISSING_REPLY_TOSolClientSubCode.SOLCLIENT_SUBCODE_MSG_VPN_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_MSG_VPN_UNAVAILABLESolClientSubCode.SOLCLIENT_SUBCODE_NO_LOCAL_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_NO_MORE_NON_DURABLE_QUEUE_OR_TESolClientSubCode.SOLCLIENT_SUBCODE_NO_STRUCTURED_DATASolClientSubCode.SOLCLIENT_SUBCODE_NO_SUBSCRIPTION_MATCHSolClientSubCode.SOLCLIENT_SUBCODE_NO_TRANSACTION_STARTEDSolClientSubCode.SOLCLIENT_SUBCODE_OBJECT_DESTROYEDSolClientSubCode.SOLCLIENT_SUBCODE_OKSolClientSubCode.SOLCLIENT_SUBCODE_OS_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_OUT_OF_MEMORYSolClientSubCode.SOLCLIENT_SUBCODE_OUT_OF_REPLAY_RESOURCESSolClientSubCode.SOLCLIENT_SUBCODE_OUT_OF_RESOURCESSolClientSubCode.SOLCLIENT_SUBCODE_PARAM_CONFLICTSolClientSubCode.SOLCLIENT_SUBCODE_PARAM_NULL_PTRSolClientSubCode.SOLCLIENT_SUBCODE_PARAM_OUT_OF_RANGESolClientSubCode.SOLCLIENT_SUBCODE_PERMISSION_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_PROTOCOL_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_PROXY_AUTH_FAILURESolClientSubCode.SOLCLIENT_SUBCODE_PROXY_AUTH_REQUIREDSolClientSubCode.SOLCLIENT_SUBCODE_PUBLISHER_NOT_CREATEDSolClientSubCode.SOLCLIENT_SUBCODE_PUBLISHER_NOT_ESTABLISHEDSolClientSubCode.SOLCLIENT_SUBCODE_PUBLISH_ACL_DENIEDSolClientSubCode.SOLCLIENT_SUBCODE_QUEUENAME_INVALID_MODESolClientSubCode.SOLCLIENT_SUBCODE_QUEUENAME_TOO_LARGESolClientSubCode.SOLCLIENT_SUBCODE_QUEUENAME_TOPIC_CONFLICTSolClientSubCode.SOLCLIENT_SUBCODE_QUEUE_NOT_FOUNDSolClientSubCode.SOLCLIENT_SUBCODE_QUEUE_SHUTDOWNSolClientSubCode.SOLCLIENT_SUBCODE_QUOTA_OUT_OF_RANGESolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_ANONYMOUS_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_CANCELLEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_DISABLEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_FAILEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_LOG_MODIFIEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_MESSAGE_REJECTEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_MESSAGE_UNAVAILABLESolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_STARTEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_START_MESSAGE_UNAVAILABLESolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_START_TIME_NOT_AVAILABLESolClientSubCode.SOLCLIENT_SUBCODE_REPLAY_TEMPORARY_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_REPLICATION_IS_STANDBYSolClientSubCode.SOLCLIENT_SUBCODE_SELECTORS_NOT_SUPPORTED_ON_PARTITIONED_QUEUESolClientSubCode.SOLCLIENT_SUBCODE_SELECTOR_MATCH_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_SERVICE_UNAVAILABLESolClientSubCode.SOLCLIENT_SUBCODE_SESSION_NOT_ESTABLISHEDSolClientSubCode.SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_ENDPOINT_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_ALLOWEDSolClientSubCode.SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTEDSolClientSubCode.SOLCLIENT_SUBCODE_SPOOL_OVER_QUOTASolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_ACL_DENIEDSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_ALREADY_PRESENTSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_ATTRIBUTES_CONFLICTSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_INVALIDSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_MANAGER_DENIEDSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_MATCH_ERRORSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_NOT_FOUNDSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_OTHERSolClientSubCode.SOLCLIENT_SUBCODE_SUBSCRIPTION_TOO_MANYSolClientSubCode.SOLCLIENT_SUBCODE_SYNC_REPLICATION_INELIGIBLESolClientSubCode.SOLCLIENT_SUBCODE_TE_SHUTDOWNSolClientSubCode.SOLCLIENT_SUBCODE_TIMEOUTSolClientSubCode.SOLCLIENT_SUBCODE_TOO_MANY_CLIENTSSolClientSubCode.SOLCLIENT_SUBCODE_TOPIC_MISSINGSolClientSubCode.SOLCLIENT_SUBCODE_TOPIC_OR_SELECTOR_MODIFIED_ON_DURABLE_TOPIC_ENDPOINTSolClientSubCode.SOLCLIENT_SUBCODE_TOPIC_TOO_LARGESolClientSubCode.SOLCLIENT_SUBCODE_TRANSACTED_SESSION_NAME_IN_USESolClientSubCode.SOLCLIENT_SUBCODE_TRANSACTION_FAILURESolClientSubCode.SOLCLIENT_SUBCODE_UNBIND_RESPONSE_LOSTSolClientSubCode.SOLCLIENT_SUBCODE_UNEXPECTED_UNBINDSolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_CLIENT_NAMESolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_DTE_NAMESolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_FLOW_NAMESolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_QUEUE_NAMESolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_START_LOCATION_TYPESolClientSubCode.SOLCLIENT_SUBCODE_UNKNOWN_TE_NAMESolClientSubCode.SOLCLIENT_SUBCODE_UNRESOLVED_HOSTSolClientSubCode.SOLCLIENT_SUBCODE_UNSUBSCRIBE_NOT_ALLOWED_CLIENTS_BOUNDSolClientSubCode.SOLCLIENT_SUBCODE_UNTRUSTED_CERTIFICATESolClientSubCode.SOLCLIENT_SUBCODE_UNTRUSTED_CLIENT_CERTIFICATESolClientSubCode.SOLCLIENT_SUBCODE_UNTRUSTED_COMMONNAMESolClientSubCode.SOLCLIENT_SUBCODE_USER_DATA_TOO_LARGESolClientSubCode.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
AuthenticationErrorAuthorizationErrorBackPressureErrorIllegalArgumentErrorIllegalStateErrorIncompatibleMessageErrorIncompatibleServiceErrorIncompleteMessageDeliveryErrorInvalidConfigurationErrorInvalidDataTypeErrorInvalidServiceURLErrorMessageDestinationDoesNotExistErrorMessageNotAcknowledgedByBrokerErrorMessageRejectedByBrokerErrorMessageReplayErrorMessageTooBigErrorMissingReplierErrorPubSubPlusClientErrorPubSubPlusClientIOErrorPubSubPlusCoreClientErrorPubSubTimeoutErrorPublisherOverflowErrorServiceUnreachableErrorSolaceSDTErrorTransactionErrorTransactionRollbackErrorTransportErrorUnknownTransactionStateError
- solace.messaging.errors.pubsubplus_client_error module
- solace.messaging.publisher package
- solace.messaging.publisher.direct_message_publisher module
DirectMessagePublisherDirectMessagePublisher.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()
FailedPublishEventPublishFailureListener
- solace.messaging.publisher.message_publisher module
MessagePublisherMessagePublisher.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
OutboundMessageOutboundMessage.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()
OutboundMessageBuilderOutboundMessageBuilder.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
MessagePublishReceiptListenerPersistentMessagePublisherPersistentMessagePublisher.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
RequestReplyMessagePublisherRequestReplyMessagePublisher.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
TransactionalMessagePublisherTransactionalMessagePublisher.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
DirectMessageReceiverDirectMessageReceiver.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
CacheStatusInboundMessageInboundMessage.MessageDiscardNotificationInboundMessage.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
PersistentMessageReceiverPersistentMessageReceiver.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
ReplierRequestMessageHandlerRequestReplyMessageReceiverRequestReplyMessageReceiver.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
TransactionalMessageHandlerTransactionalMessageReceiverTransactionalMessageReceiver.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
ApiInfoApiMetricsManageableMetricMetric.BROKER_DISCARD_NOTIFICATIONS_RECEIVEDMetric.CACHE_REQUESTS_FAILEDMetric.CACHE_REQUESTS_SENTMetric.CACHE_REQUESTS_SUCCEEDEDMetric.COMPRESSED_BYTES_RECEIVEDMetric.CONNECTION_ATTEMPTSMetric.CONTROL_BYTES_RECEIVEDMetric.CONTROL_BYTES_SENTMetric.CONTROL_MESSAGES_RECEIVEDMetric.CONTROL_MESSAGES_SENTMetric.DIRECT_BYTES_RECEIVEDMetric.DIRECT_BYTES_SENTMetric.DIRECT_MESSAGES_RECEIVEDMetric.DIRECT_MESSAGES_SENTMetric.INTERNAL_DISCARD_NOTIFICATIONSMetric.NONPERSISTENT_BYTES_RECEIVEDMetric.NONPERSISTENT_BYTES_REDELIVEREDMetric.NONPERSISTENT_BYTES_SENTMetric.NONPERSISTENT_MESSAGES_RECEIVEDMetric.NONPERSISTENT_MESSAGES_REDELIVEREDMetric.NONPERSISTENT_MESSAGES_SENTMetric.PERSISTENT_ACKNOWLEDGE_SENTMetric.PERSISTENT_BYTES_RECEIVEDMetric.PERSISTENT_BYTES_REDELIVEREDMetric.PERSISTENT_BYTES_SENTMetric.PERSISTENT_DUPLICATE_MESSAGES_DISCARDEDMetric.PERSISTENT_MESSAGES_RECEIVEDMetric.PERSISTENT_MESSAGES_REDELIVEREDMetric.PERSISTENT_MESSAGES_SENTMetric.PERSISTENT_MESSSAGES_ACCEPTEDMetric.PERSISTENT_MESSSAGES_FAILEDMetric.PERSISTENT_MESSSAGES_REJECTEDMetric.PERSISTENT_NO_MATCHING_FLOW_MESSAGES_DISCARDEDMetric.PERSISTENT_OUT_OF_ORDER_MESSAGES_DISCARDEDMetric.PUBLISHED_MESSAGES_ACKNOWLEDGEDMetric.PUBLISHER_ACKNOWLEDGEMENT_RECEIVEDMetric.PUBLISHER_ACKNOWLEDGEMENT_TIMEOUTSMetric.PUBLISHER_WINDOW_CLOSEDMetric.PUBLISHER_WOULD_BLOCKMetric.PUBLISH_MESSAGES_DISCARDEDMetric.PUBLISH_MESSAGES_TERMINATION_DISCARDEDMetric.RECEIVED_MESSAGES_BACKPRESSURE_DISCARDEDMetric.RECEIVED_MESSAGES_TERMINATION_DISCARDEDMetric.TOO_BIG_MESSAGES_DISCARDEDMetric.TOTAL_BYTES_RECEIVEDMetric.TOTAL_BYTES_SENTMetric.TOTAL_MESSAGES_RECEIVEDMetric.TOTAL_MESSAGES_SENTMetric.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:
InteroperabilitySupportAn 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 Propertiesis 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 Propertiesis 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 Propertiesis 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
MessagePublisherBuildercreate 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,ABCThis 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.ReconnectionAttemptListenerto 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.ReconnectionListenerto 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
MessagingServiceClientBuilderobject.- 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.MessagingServiceinstance. In order to operate normally this method needs to be called on a service instance. After the method returns, theMessagingServicehas been successfully connected.- Raises:
PubSubPlusClientError – If the
MessagingServicecannot 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 Servicecan not be connected again.
- abstract disconnect_async() Future
Initiates the disconnection process on a
solace.messaging.messaging_service.MessagingServiceinstance. The disconnection process proceeds asynchronously with the completion notice available in the returnedconcurrent.futures.FutureOnce disconnect is complete, the
MessagingServicecan 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.ApiMetricsobject.- 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,PropertyBasedConfigurationBuilder class for messaging service builder
- build(application_id: str = None) MessagingService
Builds a
MessagingServiceinstance.- 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
MessageServiceinstance 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
MessageServiceinstance 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
MessageServiceinstance 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
MessageServiceinstance 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:
ABCA class interface definition for a reconnection attempt event listener. Applications that are interested in
ReconnectionAttemptevents 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
MessagingServiceconnection 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:
ABCA class interface definition for a
ReconnectionListenerApplications interested inReconnectionevents must instantiate an object implementing theReconnectionListenerclass 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:
ABCAn 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:
ABCThis class represents an event that can occur asynchronously on a
solace.messaging.messaging_service.MessagingServiceobject. Applications that are interested inServiceEventobjects 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:
ABCAn 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,ABCAn 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.ReconnectionAttemptListenerto 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.ReconnectionListenerto 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.MessagingServiceinstance. In order to operate normally this method needs to be called on a service instance. After the method returns, theMessagingServicehas been successfully connected.- Raises:
PubSubPlusClientError – If the
MessagingServicecannot 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 Servicecan 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:
PropertyBasedConfigurationAn 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