Share via


MessageQueueTask Class

Contains the methods and properties used by the Message Queue task. This class cannot be inherited.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Dts.Runtime.DtsObject
    Microsoft.SqlServer.Dts.Runtime.Task
      Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask

Namespace:  Microsoft.SqlServer.Dts.Tasks.MessageQueueTask
Assembly:  Microsoft.SqlServer.MSMQTask (in Microsoft.SqlServer.MSMQTask.dll)

Syntax

'Declaration
Public NotInheritable Class MessageQueueTask _
    Inherits Task _
    Implements IDTSComponentPersist, IMessageQueueTask, IDTSBreakpointSite, IDTSSuspend
'Usage
Dim instance As MessageQueueTask
public sealed class MessageQueueTask : Task, 
    IDTSComponentPersist, IMessageQueueTask, IDTSBreakpointSite, IDTSSuspend
public ref class MessageQueueTask sealed : public Task, 
    IDTSComponentPersist, IMessageQueueTask, IDTSBreakpointSite, IDTSSuspend
[<SealedAttribute>]
type MessageQueueTask =  
    class 
        inherit Task 
        interface IDTSComponentPersist 
        interface IMessageQueueTask 
        interface IDTSBreakpointSite 
        interface IDTSSuspend 
    end
public final class MessageQueueTask extends Task implements IDTSComponentPersist, IMessageQueueTask, IDTSBreakpointSite, IDTSSuspend

The MessageQueueTask type exposes the following members.

Constructors

  Name Description
Public method MessageQueueTask Initializes a new instance of the MessageQueueTask class.

Top

Properties

  Name Description
Public property CurrentExecutingPackageID Gets or sets the ID of the current executing package.
Public property DataFileOverWritable Gets or sets a Boolean that indicates whether the data file message can overwrite an existing data file.
Public property DebugMode Gets or sets a Boolean that indicates whether the object is in debug mode, and whether it should raise the OnBreakpointHit event while running.
Public property DTSMessageLineageID Gets or sets the message lineage identifier.
Public property DTSMessagePackageID Gets or sets the identifier of the package that is the source of the message.
Public property DTSMessageVersionID Gets or sets the version of the message.
Public property EncryptionAlgo Gets or sets the name of the encryption algorithm used to encrypt the message body of a private message.
Public property ErrorIfMessageTimeOut Gets or sets a Boolean specifying whether the task fails when the message times out.
Public property ExecutionValue Returns a user-defined object. This field is read-only. (Inherited from Task.)
Public property MessageDataFile Gets or sets the data file name used when the MessageType is set to DTSMQMessageType_DataFile.
Public property MessageString Gets or sets the message to use when the MessageType is set to DTSMQMessageType_String.
Public property MessageType Gets or sets a value that indicates the type of message being sent when the TaskType is DTSMQType_Sender.
Public property MessageVariables Gets or sets the variables list when the MQMessageType enumeration is set to DTSMQMessageType_Variables.
Public property MsmqConnection Gets or sets the name of the connection for the MSMQ task.
Public property OperationDescription Gets or sets the description of the operation.
Public property ReceiveMessageTimeOut Gets or sets a value that specifies the number of seconds before a received message times out.
Public property ReceiveMessageType Gets or sets an MQMessageType value that indicates the message type to receive.
Public property ReceiveVariableMessage Gets or sets the name of the variable in which to store the message.
Public property RemoveFromQueue Gets or sets a Boolean that specifies whether the message should be removed from the queue.
Public property SaveDataFileName Gets or sets the name of the file to which an incoming Data File message is saved.
Public property StringCompareType A value that specifies the string comparison method for a String message type when the TaskType is DTSMQType_Receiver.
Public property StringCompareValue Gets or sets the String to which a string message is compared to when the TaskType is DTSMQType_Receiver.
Public property StringMessageToVariableName Gets or sets the name of the variable to which the message contents are saved.
Public property SuspendRequired Gets or sets a Boolean that indicates if the task should suspend when it encounters a breakpoint. This value is set by the runtime engine for tasks and containers when a breakpoint is encountered.
Public property TaskType Gets or sets a value that indicates whether the message task is sending or receiving.
Public property Use2000Format Gets or sets a Boolean indicating that the message uses SQL Server 2000 format.
Public property UseEncryption Gets or sets a Boolean indicating whether the message uses encryption.
Public property Version *** Member deprecated; see Remarks. ***    Returns the version of the task. This property is read-only. (Inherited from Task.)

Top

Methods

  Name Description
Public method AcceptBreakpointManager Passes a BreakpointManager to a task. This method is called by the runtime and is not used in code.
Public method CanUpdate *** Member deprecated; see Remarks. ***    A Boolean that indicates whether the new package XML can update the old package XML. (Inherited from Task.)
Public method Equals Determines whether two object instances are equal. (Inherited from DtsObject.)
Public method Execute Runs the task. (Overrides Task.Execute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object).)
Public method GetConnectionID Gets a String containing the ID of the connection. (Inherited from Task.)
Public method GetConnectionName Gets a String containing the name of the connection. (Inherited from Task.)
Public method GetHashCode Returns the hash code for this instance. (Inherited from DtsObject.)
Public method GetType (Inherited from Object.)
Public method InitializeTask Initializes the properties associated with the task. This method is called by the runtime and is not used in code. (Overrides Task.InitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker).)
Public method LoadFromXML This method is not callable by your application code. To load a package saved in XML format (with the.xml file name extension), use the Application.LoadPackage method.
Public method ResumeExecution Resumes execution of the task after pausing. Execution of the task or container is resumed by the runtime engine.
Public method SaveToXML This method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method.
Public method SuspendExecution Indicates that the executable needs to suspend. This method is called by the runtime engine.
Public method ToString (Inherited from Object.)
Public method Update *** Member deprecated; see Remarks. ***    This method updates the old package XML with the new package XML if CanUpdate is set to true. (Inherited from Task.)
Public method Validate Verifies that the task is properly configured. (Overrides Task.Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging).)

Top

Remarks

The Message Queue task class allows an object to send and receive messages to or from a queue of Message Queuing (also known as MSMQ). Participation in distributed transactions is allowed when running the Microsoft Distributed Transaction Coordinator (MSDTC). A single instance of a Message Queue task either sends one message to a specified queue or receives a single message from a specified queue, and also waits, if necessary, for the message to arrive. The following types of messages can be sent:

  • A string message, which is supplied as the value of a property.

  • A data file message, which is generated from the contents of a specified data file.

  • A variables message, which is generated from the names and values of one or more SQL Server Integration Services variables.

The enumeration MQMessageType determines which message format is used by a specific Message Queue task.

For more information, see Message Queue Task.

For the MessageQueueTask to work in either the API or in SSIS Designer, you must install SQL Server Integration Services. This feature will not work if only SQL Server Data Tools (SSDT) is installed.

Important

When configuring the Message Queue task to send messages, you can use one of the encryption algorithms that are currently supported by the Message Queuing, RC2 and RC4, to encrypt the message. Both of these encryption algorithms are now considered cryptographically weak compared to newer algorithms, which Message Queuing does not yet support. Therefore, you should consider your cryptography needs carefully when sending messages using the Message Queue task.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.SqlServer.Dts.Tasks.MessageQueueTask Namespace