activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: how to achieve OnMessage event in asp.net app to automatically fetch receives
Date Sun, 29 Sep 2013 17:30:34 GMT
On 09/27/2013 03:54 AM, axel wrote:
> Hello All,
>
> I am newbie to use ActiveMQ MOM in my asp.net (C#) project. I am in trouble
> with the following question 2 days, so I open this thread here to find you
> to figure it out. Thanks in advance :)
>
> My Question:
> I have topic publisher and multiple topic subscribers. If I write the
> consumer program in console application, it works really fantastic. But,
> after recoded in asp.net application, it does not work. (I mean, when I sent
> a topic by publisher, no responses on subscriber side.)
>
> Here's my entire code.
> //This is publisher
>          protected void btnSend_Click(object sender, EventArgs e)
>          {
>              try
>              {
>                  IConnectionFactory connFactory = new
> ConnectionFactory("tcp://localhost:61616");
>                  using (IConnection connection =
> connFactory.CreateConnection())
>                  {
>                      using (ISession session = connection.CreateSession())
>                      {
>                          IMessageProducer producer = session.CreateProducer(
>                              new ActiveMQTopic("Distribution test"));
>
>                          ITextMessage msg = producer.CreateTextMessage();
>                          msg.Text = this.txtName.Text;
>                          producer.Send(msg);
>
>                      }
>                  }
>              }
>              catch (Exception ex)
>              {
>                  //TODO:
>              }
>          }
>
> ===================================================================
>
> //This is consumer
>      public delegate void ReceivedMessageDelegate(string message);
>      public partial class _Default : System.Web.UI.Page
>      {
>          public event ReceivedMessageDelegate OnMessageReceived;
>
>          protected void Page_Load(object sender, EventArgs e)
>          {
>              if (!IsPostBack)
>              {
>                  try
>                  {
>                      IConnectionFactory connFactory = new
> ConnectionFactory("tcp://localhost:61616");
>                      using (IConnection connection =
> connFactory.CreateConnection())
>                      {
>                          connection.ClientId = "testing listener";
>                          connection.Start();
>
>                          using (ISession session =
> connection.CreateSession())
>                          {
>                              IMessageConsumer consumer =
> session.CreateDurableConsumer(new ActiveMQTopic("Distribution test"),
> "testing listener", null, false);
>                              consumer.Listener += (message =>
>                                  {
>                                      var msg = message as ITextMessage;
>                                      if (msg == null) throw new
> InvalidCastException();
>                                      if(OnMessageReceived != null)
>                                      {
>                                          this.OnMessageReceived(msg.Text);
>                                      }
>                                  });
>                          }
>                      }
>                  }
>                  catch (Exception ex)
>                  { //TODO: }
>                  }
>              }
>          }
>      }
>
> Cup,
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/how-to-achieve-OnMessage-event-in-asp-net-app-to-automatically-fetch-receives-tp4671879.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>
Try using an sync receive instead of the async version, I doubt there's 
enough time there for the consumer to be dispatched a message.

-- 
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/


Mime
View raw message