Beispiel #1
0
    /// <summary>
    /// CreateEMSServerTopicPublisher creates the Topic we will need to publish to
    /// and binds the Topic to a session and creates the publisher.
    /// </summary>
    private void CreateEMSServerTopicPublisher()
    {
        var topicname = "GeneralTopic";

        Console.WriteLine("Createing a topic we can publish to: " + topicname);

        TopicConnectionFactory factory = new TopicConnectionFactory("localhost");

        publisherConnection = factory.CreateTopicConnection("", ""); // Username, password blank for dev instance
        publisherSession    = publisherConnection.CreateTopicSession(false, Session.AUTO_ACKNOWLEDGE);
        Topic generalTopic = publisherSession.CreateTopic("GeneralTopic");

        emsServerPublisher = publisherSession.CreatePublisher(generalTopic);

        publisherConnection.Start();
    }
Beispiel #2
0
    /// <summary>
    /// CreateClientTopicSubscriber
    /// </summary>
    /// <param name="messageSelector"></param>
    private void CreateClientTopicSubscriber(string messageSelector)
    {
        var topicname = "GeneralTopic";

        Console.WriteLine("Createing a topic we can publish to: " + topicname);

        TopicConnectionFactory factory = new TopicConnectionFactory("localhost");

        subscriberConnection = factory.CreateTopicConnection("", "");  // Username, password
        subscriberConnection.Start();

        subscriberSession = subscriberConnection.CreateTopicSession(false, Session.AUTO_ACKNOWLEDGE);
        Topic clientTopic = subscriberSession.CreateTopic(topicname);

        // using message selector to demostrate we can subscribe to a sepecific topic by using the
        // textMessage.SetStringProperty("Owner", "HelloWorld");
        // If the messageSelector does not match not message will be received:  "Owner LIKE '%HelloWorld%'"
        TopicSubscriber clientTopicSubscriber = subscriberSession.CreateSubscriber(clientTopic, messageSelector, true);

        //Wireup an event handler for async message consumption
        clientTopicSubscriber.MessageHandler += new EMSMessageHandler(event_MessageHandler);
    }