Excluded Features and Restrictions

This section summarizes features that are not available in the .NET library.

Feature Framework Core
Distributed transactions Yes No
XA protocols for external transactions managers No No
ConnectionConsumer, ServerSession, ServerSessionPool No No
LDAP JNDI Lookups Yes Windows only

Character Encoding

.NET programs represent strings within messages as byte arrays. Before sending an outbound message, EMS programs translate strings to their byte representation using an encoding, which the program specifies. Conversely, when EMS programs receive inbound messages, they reconstruct strings from byte arrays using the same encoding.

When a program specifies an encoding, it applies to all strings in message bodies (names and values), and properties (names and values). It does not apply to header names nor values. The method BytesMessage.WriteUTF always uses UTF-8 as its encoding.

  • Outbound Messages

    Programs can determine the encoding of strings in outbound messages in three ways:

    • Use the default global encoding, UTF-8.
    • Set a non-default global encoding (for all outbound messages) using Tibems.SetEncoding.
    • Set the encoding for an individual message using Tibems.SetMessageEncoding.
  • Inbound Messages

    An inbound message from another EMS client explicitly announces its encoding. A receiving client decodes the message using the proper encoding.

For more information about character encoding, see Character Encoding in Messages.