/// <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(); }
/// <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); }