Welcome to Universal Messaging
About this Documentation
Online Information and Support
Data Protection
Release Notes
Overview
Documentation roadmap
License Types and Feature Sets
What's New in Universal Messaging 10.7
What's New in Universal Messaging 10.5
What's New in Universal Messaging 10.4
What's New in Universal Messaging 10.3
What's New In Universal Messaging 10.2
What's New In Universal Messaging 10.1
What's New In Universal Messaging 10.0
What's New In Universal Messaging 9.12
What's New In Universal Messaging 9.10
Migration Notes
Installation Guide
Installation Overview
Installation using the Software AG Installer
Starting the Realm Server
Stopping the Realm Server
Post-Installation Procedures
Server Memory Modes
JMS Configuration
How to access the Universal Messaging log file
The Dump file for Out-of-Memory Errors (OOME)
How to Administer a Remote Universal Messaging Realm
License Management
Universal Messaging Instance Manager
Using Containers
Concepts
Architecture
Architecture Overview
Realms
Zones
Overview of Zones
Administration of Zones
Examples of Message Propagation
umTransport API
Communication Protocols and RNAMEs
Support for Open Standards
Management
Administration and Management
JMX Administration and Management
JMX User Guide
Deployment
Deployment
Bi-directional Client and Server Compatibility
Server
Server Failover / High Availability
Data Routing using Channel Joins
Data Routing using Interest Propagation
Federation Of Servers
Proxy Servers and Firewalls
Server Memory for Deployment
Server Parameters
Server Security for Deployment
Deployment
Connecting to Multiple Realms Using SSL
Periodic Logging of Server Status
Client
Using HTTP/HTTPS
Browser / Applet Deployment
Browser Plugins
Client Jars
Client Security
Client Parameters
Multiplexing Sessions
Language Deployment Tips
JavaScript Application Deployment
Security
Security Overview
Authentication
Authentication Overview
Using SASL
Overview
Client-side Authentication
Server-side Authentication
Client Negotiation
Directory Backend
Internal User Repository
LDAP
Reverse Hostname Resolution for localhost
Server JAAS Authentication with Software AG Security infrastructure component
Converting a .jks Key Store to a .pem Key Store
Access Control Lists
Security Policies
Access Control Lists (ACLs)
Using SSL
SSL Concepts
SSL Encryption
Server SSL Configuration
Client SSL Configuration
JMS Client SSL Configuration
Setting up and using FIPS
Performance, Scalability and Resilience
Overview of Performance, Scalabilty and Resilience
Performance Tuning
Overview of Tuning
The Realm Server
The Java Virtual Machine (JVM)
Tuning the Linux Operating System
Configuring User Limits
Temporarily Increasing Limits Using the ulimit Command
Permanently Increasing User Limits
Configuring Mapped Memory Regions
Disabling Processor Power Saving States
Stopping the Interrupt Request Balance Service
The Network
Multicast: An Overview
Shared Memory (SHM)
Realm Benchmarks
Failover
Connections Scalability
Load Balancing
Horizontal Scalability
Overview
URL Syntax for Horizontal Scalability
Usage Notes for Horizontal Scalability
Horizontal Scalability Behavior in a Mixed Landscape
Restrictions
Event Fragmentation
Messaging Paradigms
Overview
Publish / Subscribe (using Channels/Topics)
Publish / Subscribe (using Data Groups and Data Streams)
Overview of Data Groups and Data Streams
Sample Structures for Data Groups and Data Streams
Message Queues
Details of Usage for Software Developers
Durable Subscriptions
Overview of Durable Subscriptions
Types of Durable Subscription
Using Durable Subscriptions with Multiple Clients
Using the Prefetch API
Durable Event Browsing and Purging
Clustered Server Concepts
Clusters: An Overview
Active/Active Clustering
About Active/Active Clustering
Working with an Active/Active Cluster
Client Connection
Masters and Slaves
Quorum
Election of a new Master
Message Passing
Outages and Recovery
Creating Clustered Resources
Inter-Cluster Connections
Setting Up a High Availability (HA) Failover Cluster
Separating Client and Cluster Communication
Deleting a Cluster
Active/Passive Clustering
About Active/Passive Clustering
Working with an Active/Passive Cluster
Active/Active Clustering with Sites
About Active/Active Clustering with Sites
Disaster Recovery using Clusters with Sites
MQTT: An Overview
AMQP
Overview of AMQP
About AMQP
AMQP Plugin Configuration
AMQP Security Configuration
AMQP Message Transformation
AMQP Guide
Universal Messaging Support for AMQP
AMQP Overview
Transport and Connection Security
AMQP Frame Transport
Message Transport
Delivery States
Supported Delivery States
Intermediate Delivery States
Terminal Delivery States
Flow Control
AMQP Messages
AMQP Transactions
Supported AMQP Client Libraries
Appendix A: AMQP Terminology to Universal Messaging Terminology
Appendix B: AMQP Messages to Universal Messaging Message Mappings
Appendix C: Universal Messaging Support for AMQP 1.0
Product Usage Metrics
Commonly Used Features
Overview
Sessions
Channel Attributes
Storage Properties of Channels and Queues
Channel Publish Keys
Queue Attributes
Multi-File Disk Stores
Sizing Recommendation
How to Calculate File Descriptor and Mapped Memory Requirements per Store
Cache Recommendation
Multi-file Disk Stores do not Use Manual or Auto-Maintenance
Events
Introduction to Events
Event Filtering
Event Filtering using Selectors
Event Filtering using Subjects and Principals
Event Dictionaries
Behavior of Transient Events
Event Lifecycle Logging
Native Communication Protocols
Comet Communication Protocols
Google Protocol Buffers
Using the Shared Memory Protocol
Rollback
Out-of-Memory Protection
Pause Publishing
Priority Messaging
Administration Guide
Overview
Universal Messaging Enterprise Manager
About the Enterprise Manager
Starting the Enterprise Manager
Tab-by-Tab Overview
About the Enterprise View
Realm Administration
Creating and Starting a Realm Server
Viewing a Realm
Monitoring a Realm
About Monitoring a Realm
The Enterprise Manager Logs Panel
Realm Connections
Threads Status
The Top Tab
The Audit Tab
The Metrics Tab
Updating Connection Information
Working with Realm Profiles
Realm Federation
Realm Configuration
Connecting to Multiple Realms
Disconnecting from Realms
Interface Status
Zone Administration
Cluster Administration
Viewing the Available Clusters
Viewing Information for a Cluster
Creating Clusters
Before Creating a Cluster
Creating a Cluster
Deleting a Cluster
Adding and Removing Cluster Members
Creating Cluster Channels
Creating Cluster Queues
Setting Up Inter-Realm Communication
Setting Up Non-Encrypted Inter-Realm Communication
Setting Up Encrypted Inter-Realm Communication
Switching from Non-Encrypted to Encrypted Inter-Realm Communication
Note on Public/Private Keys Used for Inter-Realm Handshake
Interconnecting Two Clusters
Creating Clusters with Sites
Case Study: Migrating Between Single-Node and Multi-Node Active/Active Cluster
Channel Administration
About Channel Administration
Viewing the Channel Status
Creating Channels
Valid Channel and Queue Names
Editing Channels
Updating Protobuf Descriptors
Exporting Protobuf Descriptors
Copying Channels
Creating Channel Joins
Viewing Channel Connections
Snooping on a Channel
Viewing Details About Snooped Events on a Channel
Purging Events from a Channel
Publishing Events on a Channel
Publishing a New Event on a Channel
Republishing Events on a Channel
Viewing and Managing Durables for a Channel
Deleting Channels and Queues
Queue Administration
Creating Queues
Viewing Queues
Viewing the Queue Status
Viewing Queue Joins
Viewing Consumer Information
Editing Queues
Copying Queues
Snooping on a Queue
Viewing Details About Snooped Events on a Queue
Purging Events from a Queue
Publishing Events on a Queue
Publishing a New Event on a Queue
Republishing Events on a Queue
Data Group Administration
About Data Groups
Creating Data Groups
Viewing the Data Group Status
Adding Existing Data Groups to Data Groups
Removing Data Groups from data Groups
Deleting Data Groups
Container Administration
Viewing the Container Status
Monitoring Container Usage
Using ACLs for Role-Based Security
About Realm ACL Permissions
About Channel ACL Permissions
About Queue ACL Permissions
Adding and Removing ACL Subjects
Modifying ACL Permissions
Creating Security Groups
About Interface VIA Lists
Managing Interface VIA Lists
Scheduling
About Scheduling
Creating and Editing Scheduler Scripts
Creating Scheduler Scripts
Viewing and Editing Scheduler Scripts
Scheduling Script Language Summary
Calendar Schedules (Time-based Triggers)
Conditional Triggers for Executing Tasks
Scheduling Tasks
Scheduler Examples
Universal Messaging Scheduling : Example Realm Script
Universal Messaging Scheduling : Store Triggers Example
Universal Messaging Scheduling : Interface Triggers Example
Universal Messaging Scheduling : Memory Triggers Example
Universal Messaging Scheduling : Realm Triggers Example
Universal Messaging Scheduling : Cluster Triggers Example
Universal Messaging Scheduling : Counter Trigger Example
Universal Messaging Scheduling : Time Triggers Example
Universal Messaging Scheduling : Configuration Example
Integration with JNDI
About Integration with JNDI
The Initial JNDI Context and the JNDI Namespace
Creating Connection Factories
The URL Syntax of a Horizontal Scalability Connection Factory
Creating References to Topics and Queues
Viewing and Editing JNDI Settings of a Connection Factory
Using Channel Snoop to View JNDI Settings
Administering TCP Interfaces, IP Multicast, and Shared Memory
About Working with Interfaces
Creating Interfaces
Usage of 0.0.0.0 When Defining Interfaces
Basic Attributes for an Interface
Starting and Stopping Interfaces
Modifying Interface Attributes
JavaScript Configuration Properties
About SSL Interfaces
Creating an SSL-Enabled Interface
How to Generate Certificates for Use
Adding a Multicast Configuration
Considerations When Using Multicast
Advanced Multicast Settings
Adding a Shared Memory Configuration
Plugins
File Plugin
XML Plugin
Proxy Passthrough Plugin
REST Plugin
Servlet Plugin
Health Monitor Plugin
Exporting and Importing Realm XML Configurations
Exporting a Realm Configuration into an XML File
Importing a Realm Configuration from an XML File
Using the clusterWide Attribute for Channels and Queues
Version compatibility issues
Sample XML File for Import
Using the Enterprise Viewer
Using Command Central to Manage Universal Messaging
About Using Command Central to Manage Universal Messaging
Managing Universal Messaging Server Instances
Creating a Universal Messaging Server Instance
Deleting a Universal Messaging Server Instance
Starting, Stopping, and Restarting Universal Messaging
Securing Communication Between Command Central and Universal Messaging
How does Command Central Connect to Universal Messaging?
About Securing Communication Between Command Central and Universal Messaging
Considerations When Using System Properties to Specify Truststore and Keystore Files
Configuring the JSSE System Properties
Configuring the Universal Messaging Client Properties
Switching Off the System Properties Mode
Configuring Universal Messaging
About Configuring Universal Messaging
Working with Universal Messaging Configuration Types
Channels
Clustering
Before You Create a Universal Messaging Cluster
Cluster Configuration Properties
Supported Cluster Configuration Tasks
Cluster Migration
General Properties
Groups
Internal Users
JNDI Connection Factories
JNDI Destinations
JVM Options
Java System Properties
License Keys
Memory
Ports
NSP Ports
NHP Ports
NHPS Ports
NSPS Ports
SHM Ports
Queues
Realm ACL
Zones
Securing Access to Command Central
Changing the Authentication Mode
Verifying the Outbound Authentication Settings
Using Unix Shell Scripts to Change Connection Credentials for Managed Products
Enabling Basic Authentication for Universal Messaging Users
Administering Universal Messaging
Administering Channels
Administering Durable Subscribers
Administering Queues
Snooping on Channels
Considerations When Snooping on Channels
Starting the Channel Snoop
Stopping the Channel Snoop
Viewing Channel Event Details
Purging Snooped Events from a Channel
Snooping on Queues
Considerations When Snooping on Queues
Starting the Queue Snoop
Stopping the Queue Snoop
Viewing Queue Event Details
Purging Snooped Events from a Queue
Publishing Events
Publishing Events on a Channel or Queue
Publishing Protobuf Events
Republishing Events on a Channel or Queue
Viewing Universal Messaging Run-time Monitoring Statuses
Viewing Universal Messaging KPIs
Viewing Universal Messaging Logs
Viewing Universal Messaging Inventory
Configuration Types That the Universal Messaging Server Supports
Using the Command Line to Manage Universal Messaging
Universal Messaging Instance Management
Create Instances
Update Instances
Delete Instances
Migrate Instances
User Configuration
Create Users
List Users
Update Users
Delete Users
License Configuration
Add License Keys
Get License Details
Update License Keys
Port Configuration
Create Ports
Update Ports
Delete Ports
Security Group Configuration
Get Security Group Configuration Data
Realm ACL Configuration
Get Realm ACL Configuration Data
General Properties Configuration
Get Configuration Properties
Update Configuration Properties
JNDI Connection Factories Configuration
Create Connection Factories
Get Connection Factory Data
Update Connection Factories
Delete Connection Factories
JNDI Destinations Configuration
Create Destinations
Get Destination Data
Delete Destinations
Channel Configuration
Create Channels
Get Channel Data
Update Channels
Queue Configuration
Create Queues
Get Queue Data
Update Queues
Zone Configuration
Create Zones
Get Zone Data
Update Zones
Delete Zones
Java System Properties Configuration
Get Java System Properties
Update Java System Properties
JVM Options Configuration
Get JVM Options
Update JVM Options
Cluster Configuration
Before You Create or Update a Cluster
Create Clusters
View Cluster Details
Update Clusters
Delete Clusters
Migrate Clusters
Channel and Queue Monitoring
List Administration Namespaces
List Monitoring Options
List Channels or Queues
Get Channel or Queue Status
Durable Subscribers Monitoring
View Administration Namespaces
View Monitoring Options
List Durable Subscribers
List Durable Subscriber Attributes
List Events
Purge Events
Delete a Durable Subscriber
Channel Snoop
Start Snooping on a Channel
List Snooped Events on a Channel
View Details of a Snooped Event on a Channel
Purge Snooped Events from a Channel
Stop Snooping on a Channel
Queue Snoop
Start Snooping on a Queue
List Snooped Events on a Queue
View Details of a Snooped Event on a Queue
Purge Snooped Events from a Queue
Stop Snooping on a Queue
Event Publishing
Publish Events
Republish Events
Server Inventory Commands
Get Server Inventory
List Server Inventory
Asset Deployment
List Assets
Install Assets
Lifecycle Actions for Universal Messaging Server
Run-time Monitoring States for Universal Messaging Server
Run-time Monitoring Statuses for Universal Messaging Server
Deployment of Universal Messaging Assets
On-Premise Deployment of Assets
Asset Deployment in the Cloud
Templates for Provisioning Universal Messaging
Comparison of Enterprise Manager and Command Central Features
Setting up Active/Passive Clustering with Shared Storage
About Active/Passive Clustering
Active/Passive Clustering Requirements
Universal Messaging Capabilities for Active/Passive Clustering
Virtual IP Address of an Active/Passive Cluster
Failover Mechanism in an Active/Passive Cluster
Cluster Verification
Roles and Responsibilities for Configuring an Active/Passive Cluster
Overview of Active/Passive Clustering on Windows
How Does Universal Messaging Run in a Windows Cluster?
Active/Passive Cluster Configuration on Windows Server
Overview of Active/Passive Clustering on UNIX
Cluster Monitoring Scripts
Summary of Active/Passive Cluster Configuration on UNIX
Configuring a Universal Messaging Active/Passive Cluster on UNIX
Install Universal Messaging on Cluster Nodes
Verify the Universal Messaging Server Installation
Configure the Start, Stop, and Status Scripts
Verify Failover in the Cluster
Command Line Administration Tools
Introduction to the Administration Tools
Starting the Tools using the Tools Runner Application
Performing Standard Administration Tasks on Realms and Clusters
Running a Configuration Health Check
The "Realm Information Collector" Diagnostic Tool
The ExportEventsFromOfflineMemFile Tool
The RepublishEventsFromOfflineFile Tool
Tools for Removing and Modifying Offline Cluster Members
Syntax reference for command line tools
Syntax: Store Tools
Syntax: Cluster Tools
Syntax: Interface Tools
Syntax: Data Group Tools
Syntax: Publish Tools
Syntax: Subscribe Tools
Syntax: Security Tools
Syntax: Zone Tools
Syntax: JMS Tools
Syntax: Recovery Tools
Syntax: Durable Tools
Syntax: Miscellaneous Tools
Syntax: Site Tools
Syntax: Diagnostic Tools
Universal Messaging Administration API
Introduction
Administration API Package Documentation
Namespace Objects
nRealmNode
nLeafNode (Channels and Queues)
nDurableNode
Realm Federation
Channel Join
Realm Server Management
Interfaces
Scheduling
Config
Clustering
Multicast
Security
Access Control Lists
Nirvana Admin API - Nirvana Security Groups
Realm Access Control List (nACL)
Channel Access Control List (nACL)
Queue Access Control List
Management Information
nRealmNode
nClusterNode
nLeafNode
Connection Information
Configuring the Java Service Wrapper
Thread Pool Monitoring
Using Nginx with Universal Messaging
About Using Nginx with Universal Messaging
Configure Nginx to Direct HTTP Requests to Universal Messaging
Nginx Directives Configuration
Configure Nginx to Direct HTTPS Requests to Universal Messaging
Forward Requests Based on URL Matches
Migrating from IPv4 to IPv6
Data Protection and Privacy
Developer Guide
Universal Messaging Client Development
Enterprise APIs
Overview of the Enterprise Client APIs
Running the Sample Applications
Enterprise Developer's Guide for Java
General Features
Creating a Session
Events
Event Dictionaries
Channel Joins
Google Protocol Buffers
Publish / Subscribe Using Channels/Topics
Creating a Channel
Finding a Channel
Publishing events to a Channel
Sending XML Dom Objects
Asynchronous Subscriber
Channel Iterator
Batched Subscribe
Batched Find
Using Durable Subscriptions
The Merge Engine and Event Deltas
Using Priority Messaging
Publish / Subscribe Using Data Streams and Data Groups
DataStreamListener
Creating and Deleting DataGroups
Managing DataGroup Membership
DataGroup Conflation Attributes
DataGroups Event Publishing
DataStream Event Publishing
Using Priority Messaging
Message Queues
Creating a Queue
Finding a Queue
Queue Publish
Asynchronous Queue Consuming
Synchronous Queue Consuming
Asynchronous Transactional Queue Consuming
Synchronous Transactional Queue Consuming
Queue Browsing / Peeking
Request Response
Provider for JMS
Overview of the Provider for JMS
JMSAdmin: Sample application for creating realm resources
JMS Client SSL Configuration
JMS Message / Event Mapping
JMS Message Type Conversion
Fanout Engine
Resource Adapter for JMS
Support for XA Transactions
Automatic purging of individual events
Basic Authentication
Client-side Authentication APIs
Code Examples
Pub/Sub Channels
Java Client: Channel Publisher
Java Client: Transactional Channel Publisher
Java Client: Asynchronous Channel Consumer
Java Client: Synchronous Channel Consumer
Java Client: Asynchronous Durable Channel Consumer
Java Client: Synchronous Durable Channel Consumer
Java Client: XML Channel Publisher
Java Client: Asynchronous XML Channel Consumer
Java Client: Event Delta Delivery
Java Client: Batching Server Calls
Java Client: Batching Subscribe Calls
Pub/Sub Data Groups
Java Client: DataStream Listener
Java Client: DataGroup Publishing with Conflation
Java Client: DataGroup Manager
Java Client: Delete DataGroup
Java Client: DataGroup Delta Delivery
Message Queues
Java Client: Queue Publisher
Java Client: Transactional Queue Publisher
Java Client: Asynchronous Queue Consumer
Java Client: Asynchronous Transactional Queue Consumer
Java Client: Synchronous Queue Consumer
Java Client: Synchronous Transactional Queue Consumer
Java Client: Peek events on a Queue
Java Client: Requester - Request/Response
Java Client: Responder - Request/Response
Administration API
Java Client: Add a Queue ACL Entry
Java Client: Modify a Channel ACL Entry
Java Client: Delete a Realm ACL Entry
Java Client: Add a Schedule to a Universal Messaging Realm
Java Client: Simple authentication server
Java Client: Monitor realms for cluster creation, and cluster events
Java Client: Monitor realms for client connections coming and going
Java Client: Copy a channel and its attributes
Java Client: Monitor the remote realm log and audit file
Java Client: Export a realm to XML
Java Client: Import a realm's configuration information
Java Client: Console-based Realm Monitor
Java Client: Realm Monitor
Java Client: Create Cluster
Java Client: Create Security Group
Java Client: Add Security Group Subject
Java Client: Delete Security Group Subject
Java Client: Delete Security Group
Provider for JMS
Using the AMQP Protocol
Java Client: JMS BytesMessage Publisher
Java Client: JMS BytesMessage Subscriber
Java Client: JMS MapMessage Publisher
Java Client: JMS MapMessage Subscriber
Java Client: JMS ObjectMessage Publisher
Java Client: JMS ObjectMessage Subscriber
Java Client: JMS StreamMessage Publisher
Java Client: JMS StreamMessage Subscriber
Java Client: JMS BytesMessage Queue Publisher
Java Client: JMS BytesMessage Queue Subscriber
Java Client: JMS Queue Browser
Channel / Queue / Realm Management
Java Client: Creating a Channel
Java Client: Deleting a Channel
Java Client: Creating a Queue
Java Client: Deleting a Queue
Java Client: Create a Channel Join
Java Client: Delete a Channel Join
Java Client: Purge events from a channel
Java Client: Find the event id of the last event
Java Client: Add a realm to another realm
Java Client: Multiplex a Session
Client API Package Documentation
Enterprise Developer's Guide for C++
General Features
Creating a Session
Universal Messaging Events
Event Dictionaries
Channel Joins
Google Protocol Buffers
Publish / Subscribe using Channel Topics
Publish / Subscribe Using Channels/Topics
Creating a Channel
Finding a Channel
How to publish events to a Channel
Asynchronous Subscriber
Channel Iterator
Batched Subscribe
Batched Find
The Merge Engine and Event Deltas
Using Priority Messaging
Publish / Subscribe using Data Streams and Data Groups
Publish / Subscribe Using Data Streams and Data Groups
DataStreamListener
Creating and Deleting DataGroups
Managing DataGroup Membership
DataGroup Conflation Attributes
DataGroups Event Publishing
DataStream Event Publishing
Using Priority Messaging
Message Queues
Message Queues
Creating a Queue
Finding a Queue
Queue Publish
Asynchronous Queue Consuming
Synchronous Queue Consuming
Asynchronous Transactional Queue Consuming
Synchronous Transactional Queue Consuming
Queue Browsing / Peeking
Code Examples for C++
Publish / Subscribe using Channel Topics
C++ Client: Channel Publisher
C++ Client: Transactional Channel Publisher
C++ Client: Asynchronous Channel Consumer
C++ Client: Synchronous Channel Consumer
C++ Client: Event Delta Delivery
C++ Client: Batching Server Calls
C++ Client: Batching Subscribe Calls
Publish / Subscribe using Data Streams and Data Groups
C++ Client: DataStream Listener
C++ Client: DataGroup Publishing with Conflation
C++ Client: DataGroup Manager
C++ Client: Delete DataGroup
C++ Client: DataGroup Delta Delivery
Message Queues
C++ Client: Queue Publisher
C++ Client: Transactional Queue Publisher
C++ Client: Asynchronous Queue Consumer
C++ Client: Synchronous Queue Consumer
C++ Client: Peek Events on a Queue
Administration API
C++ Client: Add a Queue ACL Entry
C++ Client: Modify a Channel ACL Entry
C++ Client: Delete a Realm ACL Entry
C++ Client: Monitor realms for client connections coming and going
C++ Client: Console-based Realm Monitor
C++ Client: Remove Node ACL
C++ Client: Authserver
Channel / Queue / Realm Management
C++ Client: Creating a Channel
C++ Client: Deleting a Channel
C++ Client: Creating a Queue
C++ Client: Deleting a Queue
C++ Client: Create Channel Join
C++ Client: Delete a Channel Join
C++ Client: Purge Events From a Channel
C++ Client: Create Queue Join
C++ Client: Delete Queue Join
C++ Prerequisites
Prerequisites
Client SSL Configuration
Environment Setup: Windows
Environment Setup: Linux and OS X
Enterprise Developer's Guide for C#
General Features
Creating a Session for C#
Universal Messaging Events
Universal Messaging Event Dictionaries
Channel Joins
Publish / Subscribe using Channel Topics
Creating a Channel
Finding a Channel
Publishing Events to a Channel
Subscribe Asynchronously to a Channel
Synchronous Consumers
Batched Subscribe
Batched Find
Using Durable Objects
The Merge Engine and Event Deltas
Consuming a JMS Map Message
Using Priority Messaging
Publish / Subscribe using Data Streams and Data Groups
Publish / Subscribe Using Data Streams and Data Groups
Enabling Data Groups and Receiving Event Callbacks
DataStreamListener
Managing Data Groups
Creating and Deleting DataGroups
Managing DataGroup Membership
DataGroup Conflation Attributes
Publishing to Data Groups
DataGroups Event Publishing
DataStream Event Publishing
Using Priority Messaging
Message Queues
Message Queues
Creating a Queue
Finding a Queue
Publishing events to a Queue
Asynchronously Consuming a Queue
Synchronously Consuming a Queue
Asynchronous Transactional Queue Consumption
Synchronous Transactional Queue Consumption
Browse (Peek) a Universal Messaging Queue
Request Response
Basic Authentication
Overview
Prerequisites for Basic Authentication
Client-side Authentication
Server-side Authentication
Google Protocol Buffers
Examples
Publish / Subscribe using Channel Topics
Publish / Subscribe
Channel Publisher
Transactional Channel Publisher
Asynchronous Channel Consumer
Synchronous Channel Consumer
C# Client: Asynchronous Durable Channel Consumer
C# Client: Synchronous Durable Channel Consumer
Batching Server Calls
Batching Subscribe Calls
Publish / Subscribe using Data Streams and Data Groups
DataStream Listener
DataGroup Publishing with Conflation
DataGroup Manager
Delete DataGroup
DataGroup Delta Delivery
Message Queues
Queue Publisher
Transactional Queue Publisher
Asynchronous Queue Consumer
Synchronous Queue Consumer
Peek Events on a Queue
MyChannels.Nirvana API
MyChannels.Nirvana DataGroup Publisher
MyChannels.Nirvana Queue Publisher
MyChannels.Nirvana Topic Publisher
MyChannels.Nirvana DataGroup Listener
MyChannels.Nirvana Queue Consumer
MyChannels.Nirvana Topic Subscriber
RX Topic Subscriber
RX Queue Consumer
RX DataGroup Listener
Administration API
Add a Queue ACL Entry
Modify a Channel ACL Entry
Delete a Realm ACL Entry
Monitor realms for client connections coming and going
Export a realm to XML
Import a realm's configuration information
Console-based Realm Monitor
Set Container ACL
Channel / Queue / Realm Management
Creating a Channel
Deleting a Channel
Creating a Queue
Deleting a Queue
Create Channel Join
Delete a Channel Join
Purge Events From a Channel
Create Queue Join
Delete Queue Join
Prerequisites
C# Prerequisites
C# Client SSL Configuration
Globally Accessible DLLs
Using UM API libraries for .NET in .NET Standard projects
Messaging API
MyChannels.Nirvana API: Creating and Disposing of a Session
MyChannels.Nirvana API: Producers
MyChannels.Nirvana API: Consumers
MyChannels.Nirvana API: Reactive Extensions
Enterprise Developer's Guide for VBA
Publish / Subscribe
Publish/Subscribe
Subscribing Tasks
Subscribing to a Channel
Publishing Tasks
Creating a Session
Finding a Channel
Universal Messaging Events
Publishing Events to a Channel
Learn More
Event Properties
How the RTD Server Works
Setting the RTD Throttle Interval
Internal Event Processing
Universal Messaging RTD Server Internal Queues
OnChange() Event Using RTD
Prerequisites
Enterprise Developer's Guide for Python
Enterprise Client Development
Environment Configuration
Creating a Session
Subscribing to a Channel/Topic or Queue
DataStream - Receiving DataGroup Events
Publishing Events to a Channel or Queue
Writing an Event to a DataGroup
Asynchronous Exception Listener
Synchronously Requesting Events
Sample Applications
Publish / Subscribe using Channel Topics
Channel Publisher
Asynchronous Channel Subscriber
Channel Iterator
Publish / Subscribe using Data Streams and Data Groups
DataGroup Publisher
DataStream Listener
Message Queues
Queue Publisher
Asynchronous Queue Consumer
Synchronous Queue Reader
Python Objects
Universal Messaging Events
Event Dictionaries
Mobile Clients
Overview of Mobile Clients
iPhone Applications
Android Applications
Web Client APIs
Overview of Web Client APIs
Web Developer's Guide for Javascript
Overview
Server Configuration for JavaScript
Server Configuration for HTTP Delivery
Server Configuration for HTTPS Delivery
Serving From Another Webserver
Web Client Development in JavaScript
Creating a Session
Publish/Subscribe Tasks
Overview of using Publish/Subscribe
Using a Universal Messaging Channel
Subscribing to a Channel
Publishing Events to a Channel
Transactional Publish
DataStream - Receiving DataGroup Events
Message Queue Tasks
Overview of using Message Queues
Using a Queue
Subscribing to a Queue
Publishing Events to a Queue
Asynchronous Transactional Queue Consuming
JavaScript Objects
Universal Messaging Events
Universal Messaging Event Attributes
Event Dictionaries
Optimizing Throughput
The Merge Engine and Event Deltas
JavaScript Communication Drivers and Protocols
Communication Drivers
WebSocket Delivery Mode
WebSocket over a Forward Proxy
WebSocket over a Reverse Proxy
Comet Streaming Delivery Mode
Comet LongPolling Delivery Mode
Comet Forever IFrame Delivery Mode
Example: Implementing a Simple Pub/Sub Client
Web Developer's Guide for Java
Web Developer's Guide for Java
Deploying Java Applications using Java Web Start
Applet Javascript Bridge Example
API Language Comparisons
Operations Guide
Introduction
Installation
Startup and Shutdown / Planned Outages and Changes
Backup and Recovery
Monitoring
Monitoring Containers
Using Prometheus
Enable the JMX Exporter Agent
Updatе the jmx_exporter File when Applying Fixes
Set Up the JMX Exporter Port
Connect with Prometheus
Modify Filters in jmx_exporter.yaml
Add New JMX Metrics to jmx_sag_um_exporter.yaml
Query Topics and Queues
Switch to Flat Topic and Queue Namespaces
Handling Multiple Connections
Handling Many Connections on the Client Side
Handling Many Connections on the Server Side
Restricting Connections on the Server Side
Server Behavior when Authenticating Connections
Contacting Software AG Technical Support
Logging
Server-Side Journal Logging
Using the RealmInformationCollector to Collect Server Logs
Configuring Logging in the Server_Common.conf File
Audit Logging
Client-Side Logging
Troubleshooting
Purging and Archiving
Reference Guide
Overview
Glossary
Universal Messaging API Documentation for Developers
Copyright
Welcome to Universal Messaging
Copyright