MessageType

This instance property specifies the type of queue table associated with this queue.

Declaration

// C#
public OracleAQMessageType MessageType {get; set;}

Property Value

An OracleAQMessageType enumerated value.

Exceptions

ArgumentOutOfRangeException - The type value specified is invalid.

ObjectDisposedException - The object is already disposed.

Remarks

The MessageType property also dictates the type of message payloads that are enqueued or dequeued from the queue. It is possible to enqueue a variety of payloads depending on the MessageType. All ODP.NET provider types support RAW, user-defined type, and XML data type payloads. Managed ODP.NET and ODP.NET Core also support JSON data type payloads. ODP.NET does not support other data types, such as Java Message Service data types.

Table 12-26 lists the allowed payload types for various message types.

Table 12-26 Message Types and Payloads

OracleAQQueue.MessageType Allowed OracleAQMessage.Payload type to Enqueue

OracleAQMessageType.JSON

Either OracleString or string

OracleAQMessageType.Raw (default)

OracleBinary, byte[]

OracleAQMessageType.Xml

OracleXmlType, XmlReader, String (well-formed XML, else exception is raised)

OracleAQMessageType.UDT

UDT Custom Object

Table 12-27 lists the payload types for dequeued messages.

Table 12-27 Payload Types for Dequeued Messages

OracleAQQueue.MessageType DequeueOptions.ProviderSpecificType OracleAQMessage.Payload of dequeued message

OracleAQMessageType.JSON

true

OracleString

OracleAQMessageType.JSON

false

string

OracleAQMessageType.Xml

true

OracleXmlType

OracleAQMessageType.Xml

false

XmlReader

OracleAQMessageType.Raw

true

OracleBinary

OracleAQMessageType.Raw

false

Byte[]

OracleAQMessageType.UDT

N.A.

UDT Custom Object